我是JSON的新手。我正在尝试用Java创建一个JSON字符串(org.json.JSONObject(json.jar)),它类似于(基本上是一组名称 - 值对)
[{
"name": "cases",
"value": 23
}, {
"name": "revenue",
"value": 34
}, {
"name": "1D5",
"value": 56
}, {
"name": "diag",
"value": 14
}]
任何人都可以帮我解决如何在Java中创建它的问题吗?我希望名称和值都在每个中,以便我可以迭代集合,然后获得单个值。
答案 0 :(得分:11)
库是链接的,因此您可以通过首先创建一个json数组,然后创建单个对象并将它们一次添加到数组中来创建对象,如下所示:
new JSONArray()
.put(new JSONObject()
.put("name", "cases")
.put("value", 23))
.put(new JSONObject()
.put("name", "revenue")
.put("value", 34))
.put(new JSONObject()
.put("name", "1D5")
.put("value", 56))
.put(new JSONObject()
.put("name", "diag")
.put("value", 14))
.toString();
获得最终数组后,请在其上调用toString
以获取输出。
答案 1 :(得分:0)
你所拥有的是一个包含4个JSON对象的JSON数组。每个对象包含两个键和两个值。在Java中,JSON“对象”通常由某种“Map”表示。
答案 2 :(得分:0)
如果你必须在java中使用JSON,那么尝试使用gson。 Gson是一个Java库,可用于将Java对象转换为JSON表示。它还可用于将JSON字符串转换为等效的Java对象。
这是一个小例子:
Gson gson = new Gson();
gson.toJson(1); ==> prints 1
gson.toJson("abcd"); ==> prints "abcd"
gson.toJson(new Long(10)); ==> prints 10
int[] values = { 1 };
gson.toJson(values); ==> prints [1]