jak mogę utworzyć obiekt JSON podobny do poniższego, w Javie przy użyciu 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"}
]
}
Znalazłem wiele przykładów, ale nie dokładnie mój ciąg JSONArray.
Przypuszczam, że pobierasz ten JSON z serwera lub pliku i chcesz z niego utworzyć obiekt 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);
Mam nadzieję że to pomoże :)
źródło
Można napisać małą metodę wielokrotnego użytku do tworzenia obiektu json osoby, aby uniknąć powielania kodu
JSONObject getPerson(String firstName, String lastName){ JSONObject person = new JSONObject(); person .put("firstName", firstName); person .put("lastName", lastName); return person ; } public JSONObject getJsonResponse(){ JSONArray employees = new JSONArray(); employees.put(getPerson("John","Doe")); employees.put(getPerson("Anna","Smith")); employees.put(getPerson("Peter","Jones")); JSONArray managers = new JSONArray(); managers.put(getPerson("John","Doe")); managers.put(getPerson("Anna","Smith")); managers.put(getPerson("Peter","Jones")); JSONObject response= new JSONObject(); response.put("employees", employees ); response.put("manager", managers ); return response; }
źródło
Spróbuj tego ... mam nadzieję, że to pomoże
JSONObject jsonObj1=null; JSONObject jsonObj2=null; JSONArray array=new JSONArray(); JSONArray array2=new JSONArray(); jsonObj1=new JSONObject(); jsonObj2=new JSONObject(); array.put(new JSONObject().put("firstName", "John").put("lastName","Doe")) .put(new JSONObject().put("firstName", "Anna").put("v", "Smith")) .put(new JSONObject().put("firstName", "Peter").put("v", "Jones")); array2.put(new JSONObject().put("firstName", "John").put("lastName","Doe")) .put(new JSONObject().put("firstName", "Anna").put("v", "Smith")) .put(new JSONObject().put("firstName", "Peter").put("v", "Jones")); jsonObj1.put("employees", array); jsonObj1.put("manager", array2); Response response = null; response = Response.status(Status.OK).entity(jsonObj1.toString()).build(); return response;
źródło