2

私はこの結果が欲しい:

{"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を使用しています

4

1 に答える 1

0

JSONArray を JSONObject に入れ、Array に再び JSONObject をキー/値"url"/"http://en.wikipedia.org/wiki/JScript""label"/"wikipedia"

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 文字列ではありません。そのためには、すべて"/"をエスケープする必要があるためです。"\/"

于 2013-07-25T09:09:25.863 に答える