创建没有键值的JsonArray

时间:2013-12-03 10:22:56

标签: java json gson

请帮我创建没有密钥的jSonArray。它应该看起来像:

"main" : ["one", "two", "three"]

我用空键值尝试了它:

private String generate(String value) {

    Gson gson = new Gson();
    JsonArray jsonArray = new JsonArray();
    JsonObject jsonObject = new JsonObject();

    jsonObject.addProperty("", value);
    jsonArray.add(jsonObject);

    return gson.toJson(jsonArray);
}

结果看起来不错..

"main": "[
  {\"\":\
  "myString value\"}
]"

4 个答案:

答案 0 :(得分:8)

JsonObject obj = new JsonObject();
JsonArray array = new JsonArray();
array.add(new JsonPrimitive("one"));
array.add(new JsonPrimitive("two"));
array.add(new JsonPrimitive("three"));
obj.add("main", array);

答案 1 :(得分:4)

您可以执行以下操作:

Gson gson = new Gson();
JsonArray array = new JsonArray();
array.add(new JsonPrimitive("one"));
array.add(new JsonPrimitive("two"));
array.add(new JsonPrimitive("three"));

JsonObject jsonObject = new JsonObject();
jsonObject.add("main", array);;

System.out.println(gson.toJson(jsonObject));

输出:

{"main":["one","two","three"]}

答案 2 :(得分:3)

你要做的只是用一个原始变量填充数组,以实现你必须改变你的代码:

private String generate(String value) {

    Gson gson = new Gson();

    JsonArray jsonArray = new JsonArray();
    jsonArray.add(new JsonPrimitive(value));

    return gson.toJson(jsonArray);
}

答案 3 :(得分:1)

示例代码

JSONObject obj = new JSONObject();
JSONArray list = new JSONArray();
list.add("msg 1");
list.add("msg 2");
list.add("msg 3");
obj.put("", list);

您可以使用它来放置没有键的数组。