从json数组中删除外引号

时间:2017-04-04 13:31:13

标签: java arrays json

我想从JSON数组中删除外引号。我正在使用simple-JSON库。 我的JSON数组包含变量名称arrayData的字符串,如下所示 - “

{
    "Name": "stack",
    "xyz": "something"
}, {
    "info": "nothing",
    "set": "get"
}

这个数组在变量arrayData中,我把这个arrayData传递给了JSONArray。

JSONArray jsonArray= new JSONArray();
jsonArray.add(arrayData);
JSONObject obj = new JSONObject();
obj .put("Info", jsonArray);

当我打印 jsonArray 时。我在方括号内得到双引号的结果 -

["{
"Name": "stack",
"xyz": "something"
}, {
"info": "nothing",
"set": "get"
}"]

这是我在JSONlint.com上尝试过的无效JSON 我想删除方括号内的起始双引号并结束双引号。我怎么解决这个?请为此提出任何解决方案。

3 个答案:

答案 0 :(得分:2)

您必须逐个对象构建json。把它全部放在一个String不起作用:

JSONObject obj = new JSONObject();
obj.put("Name", "stack");
obj.put("xyz", "something");
JSONArray jsonArray= new JSONArray();
jsonArray.add(obj);
// same for 2nd item

答案 1 :(得分:0)

我试过:

   JsonParser parser = new JsonParser();
   JsonArray json = (JsonArray) parser.parse("[{\"Name\": \"stack\",\"xyz\": \"something\"}, {\"info\": \"nothing\",\"set\": \"get\"}]");
   System.out.println(json.toString());

输出是:

[{"Name":"stack","xyz":"something"},{"info":"nothing","set":"get"}]

那是你在寻找什么?

答案 2 :(得分:-2)

您的输入JSON无效,并且不是数组。你需要大括号" ["在开始和"]" JSON结束

[{
    "Name": "stack",
    "xyz": "something"
}, {
    "info": "nothing",
    "set": "get"
}]