一、JSONArray转List
1、使用Java原生方法实现JSONArray转List:
JSONArray jsonArray = new JSONArray("[{'name': 'John', 'age': 25}, {'name': 'Lucy', 'age': 30}]"); ListjsonObjectList = 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);