【发布时间】:2014-04-05 10:16:29
【问题描述】:
我正在创建一个包含数组的地图。 我将此地图作为参数发送到弹出窗口中的方法。
这个数组映射正在弹出窗口中变成一个映射映射!!
我用的是 IE8。
我正在创建这样的地图:
var mapDetails = new Object();
mapDetails.fields = ['A','B'];
mapDetails.optSampleData = ['X','Y'];
我正在发送的地图的 JSON:
{'fields':['A','B'],'optSampleData':['X','Y']}
我正在接收的地图 JSON:
{'fields':{'0':'A','1':'B'},'optSampleData':{'0':'X','1':'Y'}}
这在 JS 中不会有问题,因为数据仍然可以作为字段 [0] 访问。但是,我将它发送到使用 GSON 解析 JSON 的服务器端。 GSON 将其转换为地图。
【问题讨论】:
-
您究竟是如何“将此映射作为参数发送到弹出窗口中的方法”?您是否使用 JSON 序列化字符串?如果“是”,那么具体使用什么?
-
我将此对象作为参数传递给弹出窗口中的函数。然后使用 JQuery ajax(到 servlet)将其转发到服务器端。如果从主窗口发送数据,GSON 会将数据转换为包含列表的地图。从弹出窗口中,它被转换为包含 GSON 地图的地图。因此,我尝试使用 JSON.stringify 逐步跟踪。在主页(方法调用之前)stringify 显示包含数组的地图,并在弹出窗口中(在接收方法参数时)显示包含地图的地图。
标签: javascript json internet-explorer internet-explorer-8 gson