如何将对象列表表示为一个json对象数组
问题描述:
我正在编写一个使用java和spring mvc框架的web应用程序。 (我想指定一些点数,然后谷歌地图将其绘制在地图上)。如何将对象列表表示为一个json对象数组
在我的java控制器中,我建立了对象列表,然后通过ModelAndView将它返回给我的客户端代码。
<h1>List of Geo-Location points: </h1>
<c:forEach items="${mapcontent}" var="point">
${point.latitude} ${point.longitude} ${point.message}
<br />
</c:forEach>
我对结果很满意,因为它打印出我所有的相关结果:
在我看来,我然后按如下方式访问这个列表。 这样的:
33.9249 18.4241 This is a message
34.9249 18.4241 This is another a message
35.9249 18.4241 This is a quick message
移动到我目前的困难,我需要给这个输入数据,按以下格式:
var markers = [
{
coordinates:{lat:-33.9811688, lng:18.644},
message: 'Task completed at Stellenbosch Station'
},
{
coordinates:{lat:-33.9811688, lng:19.644},
message: 'Please report for duty'
}
]
我的问题,因此是如何从对象送的名单去从服务器到Java脚本中的一组json对象。
// taglib solution that I am currently trying:
Using taglib:
<%@ taglib prefix="json" uri="http://www.atg.com/taglibs/json" %>
<h1>List of Geo-Location points: </h1>
<c:forEach items="${mapcontent}" var="point">
<!-- ${point.name} ${point.telephoneNumber} ${point.genericDateTime} -->
<json:object>
<json:array name="coordinates" var="coordinate" items="${point.coordinates}">
<json:object>
<json:property name="latitude" value="${item.latitude}"/>
<json:property name="longitude" value="${item.longitude}"/>
</json:object>
</json:array>
</json:object>
<json:property name="message" value="${point.genericDateTime}"/>
</c:forEach>
Danke!
答
面对过它。为此,我找到了json-taglib。
http://json-taglib.sourceforge.net/
Maven仓库:https://mvnrepository.com/artifact/atg.taglib.json/json-taglib/0.4.1
你需要一个JSON解析器,如杰克逊。顺便说一句,你应该告诉我们你的_list_ objects_看起来像什么。 –
我已更新对象列表 – Harriet