如何使用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); 

希望这可以帮助 :)