使用的 JSON 包版本:
<!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib -->
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
以下代码包括:
- json 字符串转 json 对象;
- json 对象转 java 对象;
- java 对象转 json 对象;
- List 转 JSONArray;
- JSONArray 转 List。
public class JsonTest {
public static void main(String[] args) {
// 字符串 转 对象
String jsonStr = "{\"name\":\"小明\",\"age\":20}";
JSONObject jsonObj1 = JSONObject.fromObject(jsonStr);
// json对象 转 java对象
User user = (User) JSONObject.toBean(jsonObj1, User.class);
System.out.println("json对象 转 java对象:" + user.getName() + "," + user.getAge() + "\n");
// java对象 转 json对象
JSONObject jsonObj2 = JSONObject.fromObject(user);
System.out.println("java对象 转 json对象:" + jsonObj2 + "\n");
// List 转 JSONArray
List<User> list = new ArrayList<User>();
list.add(user);
JSONArray jsonArr = JSONArray.fromObject(list);
System.out.println("List 转 JSONArray:" + jsonArr + "\n");
// JSONArray 转 List
@SuppressWarnings("unchecked")
List<User> list2 = JSONArray.toList(jsonArr, new User(), new JsonConfig());
for (User usr : list2) {
System.out.println("JSONArray 转 List:" + usr.getName() + "," + user.getAge());
}
}
}