一、JSONArray转List
1、使用Java原生方法实现JSONArray转List:
JSONArray jsonArray = new JSONArray("[{'name': 'John', 'age': 25}, {'name': 'Lucy', 'age': 30}]");
List<JSONObject> jsonObjectList = new ArrayList<>();
for(int i = 0; i < jsonArray.length(); i++) {
jsonObjectList.add(jsonArray.getJSONObject(i));
}
2、使用第三方库Gson实现JSONArray转List:
JSONArray jsonArray = new JSONArray("[{'name': 'John', 'age': 25}, {'name': 'Lucy', 'age': 30}]");
List<Person> personList = new Gson().fromJson(jsonArray.toString(), new TypeToken<List<Person>>(){}.getType());
3、使用第三方库Jackson实现JSONArray转List:
JSONArray jsonArray = new JSONArray("[{'name': 'John', 'age': 25}, {'name': 'Lucy', 'age': 30}]");
List<Person> personList = new ObjectMapper().readValue(jsonArray.toString(), new TypeReference<List<Person>>() {});
二、JSONString转Map
1、使用Java原生方法实现JSONString转Map:
String jsonString = "{'name': 'John', 'age': 25}";
Map<String, Object> map = new HashMap<>();
JSONObject jsonObject = new JSONObject(jsonString);
for(String key : jsonObject.keySet()) {
map.put(key, jsonObject.get(key));
}
2、使用第三方库Gson实现JSONString转Map:
String jsonString = "{'name': 'John', 'age': 25}";
Type type = new TypeToken<Map<String,Object>>() {}.getType();
Map<String, Object> map = new Gson().fromJson(jsonString, type);
3、使用第三方库Jackson实现JSONString转Map:
String jsonString = "{'name': 'John', 'age': 25}";
Map<String, Object> map = new ObjectMapper().readValue(jsonString, new TypeReference<Map<String, Object>>() {});
三、从Object转JSON
1、使用Java原生方法将Object转成JSON格式:
Person person = new Person("John", 25);
JSONObject jsonObject = new JSONObject(person);
2、使用第三方库Gson将Object转成JSON格式:
Person person = new Person("John", 25);
String jsonString = new Gson().toJson(person);
3、使用第三方库Jackson将Object转成JSON格式:
Person person = new Person("John", 25);
String jsonString = new ObjectMapper().writeValueAsString(person);
四、从Map转JSON
1、使用Java原生方法将Map转成JSON格式:
Map<String, Object> map = new HashMap<>();
map.put("name", "John");
map.put("age", 25);
JSONObject jsonObject = new JSONObject(map);
2、使用第三方库Gson将Map转成JSON格式:
Map<String, Object> map = new HashMap<>();
map.put("name", "John");
map.put("age", 25);
String jsonString = new Gson().toJson(map);
3、使用第三方库Jackson将Map转成JSON格式:
Map<String, Object> map = new HashMap<>();
map.put("name", "John");
map.put("age", 25);
String jsonString = new ObjectMapper().writeValueAsString(map);
五、从JSON转Object
1、使用Java原生方法将JSON转成Object:
String jsonString = "{'name': 'John', 'age': 25}";
Person person = new Person(jsonString.getJSONObject("name"), jsonString.getInt("age"));
2、使用第三方库Gson将JSON转成Object:
String jsonString = "{'name': 'John', 'age': 25}";
Person person = new Gson.fromJson(jsonString, Person.class);
3、使用第三方库Jackson将JSON转成Object:
String jsonString = "{'name': 'John', 'age': 25}";
Person person = new ObjectMapper().readValue(jsonString, Person.class);