【发布时间】:2011-08-24 07:26:48
【问题描述】:
我需要帮助在 JSP 中创建多维 HashMap 或 Hashtable。为什么我需要 HashMap 或 HashTable?因为我最终想将一个 JSON 对象传回给客户端。如果有另一种方法最终到达 JSON 对象,我会全力以赴。
我还想提一下,这个帖子非常宝贵,我一直在扩展它:
How can I write a multidimensional JSON object in JSP and pass the JSON object back to JavaScript?
这是我想要的结果:
{
"results": [ {
"address_components": [ {
"long_name": "1600",
"short_name": "1600"
}, {
"long_name": "Amphitheatre Pkwy",
"short_name": "Amphitheatre Pkwy"
}, {
"long_name": "Mountain View",
"short_name": "Mountain View"
}, {
"long_name": "California",
"short_name": "CA"
}, {
"long_name": "United States",
"short_name": "US"
}, {
"long_name": "94043",
"short_name": "94043"
} ]
} ]
}
这是我的 JSP 代码,它使用了一个简单的示例,而不是像上面那样的真实数据:
Hashtable results_hash = new Hashtable();
Hashtable numbers = new Hashtable();
Hashtable[] arr = new Hashtable[10];
for (int i=0; i < 10; i++)
{
numbers.put("Number",i);
numbers.put("Numberx2",i*2);
arr[i] = new Hashtable();
arr[i].put("Comp",numbers);
results_hash.put("results",arr[i]);
}
com.google.gson.Gson gson = new com.google.gson.Gson();
String json = gson.toJson(results_hash);
out.print(json);
但是 JSON 对象看起来像这样:
{
"results": {
"Comp": {
"Numberx2":18,
"Number":9
}
}
}
这不是预期的结果。它只获取最后一个结果并将其转换为 JSON。因此,问题始于未正确构建多维散列。不过,我不确定是什么问题。我会很感激一些帮助。谢谢。
【问题讨论】:
标签: java json jsp hashtable multidimensional-array