1.fastjson
maven:
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.41</version>
</dependency>
User对象:
public class User {
private Long id;
private String name;
//...
}
Group对象:
public class Group {
private Long id;
private String name;
private List<User> users = new ArrayList<User>();
//...
}
测试:
public class fastjson {
public static void main(String[] args) {
Group group = new Group();
group.setId(0L);
group.setName("admin");
User guestUser = new User();
guestUser.setId(2L);
guestUser.setName("guest");
User rootUser = new User();
rootUser.setId(3L);
rootUser.setName("root");
group.getUsers().add(guestUser);
group.getUsers().add(rootUser);
String fastJson=JSON.toJSONString(group);
System.out.println(fastJson);
//Decode
Group group1 = JSON.parseObject(fastJson,Group.class);
System.out.println(group1.toString());
}
}
结果:
{“id”:0,”name”:”admin”,”users”:[{“id”:2,”name”:”guest”},{“id”:3,”name”:”root”}]}
Group [id=0, name=admin, users=[User [id=2, name=guest], User [id=3, name=root]]]
2.jackson
maven:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.2</version>
</dependency>
对象同上User。
测试:
public class jackson {
public static void main(String[] args) throws Exception {
User user=new User(1, "dsd");
ObjectMapper mapper=new ObjectMapper();
String json = mapper.writeValueAsString(user);
System.out.println(json);
User user2 = mapper.readValue(json, User.class);
System.out.println(user2.toString());
}
}
结果:
{“id”:1,”username”:”dsd”}
User [id=1, username=dsd]
3.json-lib
maven:
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
测试:
public class json {
public static void main(String[] args) {
System.out.println("java代码封装为json字符串");
//创建JsonObject第一种方法
JSONObject jsonObj = new JSONObject();
jsonObj.put("username", "张三");
jsonObj.put("password", "");
jsonObj.element("element", "element");
//创建JsonObject第二种方法
HashMap map=new HashMap();
map.put("username", "张三");
map.put("password", "pwd");
JSONObject jsonObj2 = JSONObject.fromObject(map);
System.out.println("java--->json \n" + jsonObj2.toString());
//直接对象转化
User user=new User();
user.setId(11);
user.setUsername("linqin");
JSONObject jsonObject3 = JSONObject.fromObject(user);
System.out.println(jsonObject3);
//toBean
User bean = (User) JSONObject.toBean(jsonObject3, jackson.User.class);
System.out.println(bean.toString());
}
}
结果:
java代码封装为json字符串
java—>json
{“username”:”张三”,”password”:”pwd”}
{“id”:11,”username”:”linqin”}
User [id=11, username=linqin]