【发布时间】:2012-06-01 00:52:20
【问题描述】:
在我的 java 代码中,我有一个类型为 Map<String,String> 的 o 成员的类。我使用 google Gson 库将对象转换为 json 字符串,反之亦然。
我想对 javascript 和来自 json.org 的 JSON 库做同样的事情。
问题是 javascript 没有“地图对象”,如果我使用数组来模拟地图,JSON.stringify 在数组上的结果与 Gson 在Map<String,String> 上的结果不同。
我还尝试使用库 jshashtable 2.1 (http://www.timdown.co.uk/jshashtable/index.html) 中的 Hashtable javascript 对象并创建自定义 toJSON 方法,但这种方法不起作用,因为 JSON在这些情况下,将自定义 toJSON 方法返回的对象字符串化。
这是我得到的:
使用 java 和 Gson:
{
"var_1": "value_1",
"var_2": "value_2",
"map": {
"name_1": "value_1",
"name_2": "value_2"
}
}
使用 javascript 和 JSON:
{
"var_1": "value_1",
"var_2": "value_2",
"map": [
["name_1", "value_1"],
["name_2", "value_2"]
]
}
有没有办法解决这个问题并从 java 和 javascript 中获取相同的“json 字符串”?
提前谢谢...
【问题讨论】:
标签: java javascript json gson stringify