fastjson是阿里的json处理工具包,使用简单,具有极快的性能。
maven依赖如下:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.35</version>
</dependency>
1.使用fastjson将java对象转换为json字符串
public class User {
private String name;
private String pass;
private String phone;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
public class TestDemo1 {
public static void main(String[] args) {
User user=new User();
user.setName("abc");
user.setPass("123");
user.setPhone("123456");
String json= JSONObject.toJSONString(user);
System.out.println(json);
}
}
结果如下:
{"name":"abc","pass":"123","phone":"123456"}
2.将json字符串转换为json对象并提取数据
下面是两层嵌套的json数据
{
"name":"abc",
"pass":"123",
"phone":"123456",
"ability":
{
"java":"practised",
"python":"master"
}
}
对json解析,从json中提取数据
public class TestDemo2 {
public static void main(String[] args) {
//将json字符串转换为json对象
String json="{\"name\":\"abc\",\"pass\":\"123\",\"phone\":\"123456\",\"ability\":{\"java\":\"practised\",\"python\":\"master\"}}";
JSONObject jsonObject= JSON.parseObject(json);
//提取name的值
String name=jsonObject.get("name").toString();
System.out.println(name);
//提取内层的json串的值
Object o=jsonObject.get("ability");
System.out.println(o);
//内层的值单独看作一个json串
JSONObject j=JSON.parseObject(o.toString());
System.out.println(j.get("java"));
}
}