简单的json双引号

时间:2013-07-25 09:04:29

标签: java json json-simple

我想要这个结果:

{"link":[{"url":"http://en.wikipedia.org/wiki/JScript", "label":"wikipedia"}]}

我试过了:

JSONObject ob1 = new JSONObject();
ob1.put("link","[{\"url\":\"http://en.wikipedia.org/wiki/JavaScript\", label:\"wikipedia\"}]");

ob1.toJSONString()的输出是:

{"link":"[{\"url\":\"http:\/\/en.wikipedia.org\/wiki\/JavaScript\", label:\"wikipedia\"}]"}

我做错了什么? 我正在使用json-simple-1.1.1

1 个答案:

答案 0 :(得分:0)

您应该将JSONArray放入JSONObject,并在数组中再次放置一个带有键/值"url"/"http://en.wikipedia.org/wiki/JScript""label"/"wikipedia"的JSONObject

JSONObject ob1 = new JSONObject();
JSONArray ar1 = new JSONArray();
ob1.put ("link", ar1);

JSONObject ob2 = new JSONObject();
ar1.add(ob2);

ob2.put("url", "http://en.wikipedia.org/wiki/JScript");
ob2.put("label", "wikipedia");

如果您将ob1链接对象的值已经作为JSON字符串,那么您可以先使用

将其解释为JSONArray
JSONArray ar1 = (JSONArray)JSONValue.parse(yourJSONStr);

注意:您的预期结果不是JSON字符串,因为必须对所有"/"进行转义"\/"