3

我是 JSON 新手。我正在尝试在 Java (org.json.JSONObject(json.jar)) 中创建一个类似于(基本上是一组名称-值对)的 JSON 字符串

[{
    "name": "cases",
    "value": 23
}, {
    "name": "revenue",
    "value": 34
}, {
    "name": "1D5",
    "value": 56
}, {
    "name": "diag",
    "value": 14
}]

任何人都可以帮助我如何在 Java 中创建它吗?我希望名称和值都在其中,以便我可以遍历集合,然后获取单个值。

4

3 回答 3

12

该库是链接的,因此您可以通过首先创建一个 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它以获取输出。

于 2013-04-30T18:14:04.523 回答
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]
于 2013-04-30T18:15:40.543 回答
0

您所拥有的是一个包含 4 个 JSON 对象的 JSON 数组。每个对象包含两个键和两个值。在 Java 中,JSON“对象”通常由某种“映射”表示。

于 2013-04-30T18:10:12.577 回答