如何使用JSONObject在Java中创build正确的JsonArray
我怎么能创build一个JSON对象,如下所示,在Java中使用JSONObject?
{ "employees": [ {"firstName": "John", "lastName": "Doe"}, {"firstName": "Anna", "lastName": "Smith"}, {"firstName": "Peter", "lastName": "Jones"} ], "manager": [ {"firstName": "John", "lastName": "Doe"}, {"firstName": "Anna", "lastName": "Smith"}, {"firstName": "Peter", "lastName": "Jones"} ] }
我发现了很多的例子,但不是我的完全JSONArraystring。
下面是一些使用Java 6的代码来帮助你开始:
JSONObject jo = new JSONObject(); jo.put("firstName", "John"); jo.put("lastName", "Doe"); JSONArray ja = new JSONArray(); ja.put(jo); JSONObject mainObj = new JSONObject(); mainObj.put("employees", ja);
编辑:由于有很多关于put
vs add
在这里,我将尝试解释这种差异。 在java 6中, org.json.JSONArray包含了put
方法,而在java 7中, javax.json包含了add
方法。
在java 7中使用生成器模式的例子看起来像这样:
JsonObject jo = Json.createObjectBuilder() .add("employees", Json.createArrayBuilder() .add(Json.createObjectBuilder() .add("firstName", "John") .add("lastName", "Doe"))) .build();
我想你是从服务器或文件获取这个JSON,并且你想创build一个JSONArray对象。
String strJSON = ""; // your string goes here JSONArray jArray = (JSONArray) new JSONTokener(strJSON).nextValue(); // once you get the array, you may check items like JSONOBject jObject = jArray.getJSONObject(0);
希望这可以帮助 :)