我想要这个结果:
{"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
答案 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字符串,那么您可以先使用
将其解释为JSONArrayJSONArray ar1 = (JSONArray)JSONValue.parse(yourJSONStr);
注意:您的预期结果不是JSON字符串,因为必须对所有"/"
进行转义"\/"