JSON
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于 JavaScript 的一个子集,但独立于编程语言,广泛用于 Web 应用和 API 数据传输。
User对象
@Data
@NoArgsConstructor
public class User
{
private String name;
private Integer age;
}
fastjson
依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.31</version>
</dependency>
快速使用
/**
* fastjson依赖
*/
//对象
@Test
public void fastjsonJavaBean()
{
String jsonUser = JSON.toJSONString(new User("张三", 18));//User对象转换JSON
System.out.println("Json: "+jsonUser);
User user = JSON.parseObject(jsonUser,User.class);//JSON转换User对象
System.out.println("Object: "+user);
//结果:
//Json: {"age":18,"name":"张三"}
//Object: User(name=张三, age=18)
}
//集合
@Test
public void fastjsonList()
{
String jsonList = JSON.toJSONString(Arrays.asList("张三", "李四"));//集合转换JSON
System.out.println("Json: "+jsonList);
List list = JSON.parseObject(jsonList,ArrayList.class);//JSON转换集合
System.out.println("List: "+list);
//结果:
//Json: ["张三","李四"]
//List: [张三, 李四]
}
//Map
@Test
public void fastjsonHashMap()
{
Map map = new HashMap();
map.put("user1",new User("张三",50));
map.put("user2",new User("李四",25));
String jsonHashMap = JSON.toJSONString(map);//Map对象转换JSON
System.out.println("Json: "+jsonHashMap);
HashMap hashMap = JSON.parseObject(jsonHashMap, HashMap.class);//JSON转换Map对象
System.out.println("Map: "+hashMap);
//结果:
//Json: {"user1":{"age":50,"name":"张三"},"user2":{"age":25,"name":"李四"}}
//Map: {user1={"name":"张三","age":50}, user2={"name":"李四","age":25}}
}
gson
依赖
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.8</version>
</dependency>
快速使用
/**
* gson
*/
//对象
@Test
public void gsonJavaBean()
{
Gson gson = new Gson();
String jsonUser = gson.toJson(new User("张三", 18));//User对象转换JSON
System.out.println("Json: "+jsonUser);
User user = gson.fromJson(jsonUser, User.class);//JSON转换User对象
System.out.println("Object: "+user);
//结果:
//Json: {"name":"张三","age":18}
//Object: User(name=张三, age=18)
}
//集合
@Test
public void gsonList()
{
Gson gson = new Gson();
String jsonList = gson.toJson(Arrays.asList("张三", "李四"));//集合转换JSON
System.out.println("Json: "+jsonList);
List list = gson.fromJson(jsonList, ArrayList.class);//JSON转换集合
System.out.println("List: "+list);
//结果:
//Json: ["张三","李四"]
//List: [张三, 李四]
}
//HashMap
@Test
public void gsonHashMap()
{
Gson gson = new Gson();
Map map = new HashMap();
map.put("user1",new User("张三",50));
map.put("user2",new User("李四",25));
String jsonHashMap = gson.toJson(map);//Map对象转换JSON
System.out.println("Json: "+jsonHashMap);
HashMap hashMap = gson.fromJson(jsonHashMap, HashMap.class);//JSON转换Map对象
System.out.println("Map: "+hashMap);
//结果:
//Json: {"user1":{"name":"张三","age":50},"user2":{"name":"李四","age":25}}
//Map: {user1={name=张三, age=50.0}, user2={name=李四, age=25.0}}
}