java操作json数据之fastjson
的有关信息介绍如下:JSON(JavaScriptObject Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
主要介绍:com.alibaba.fastjson.JSON中的方法的使用。如下图所示
第一步骤:创建一个springboot项目。
1、file--》new--》project...或者Model...打开创建窗口
2、选择创建的项目为spring initializr 进入springboot项目创建步骤(也可以选择类型java,创建一个普通java web项目)
3、输入项目名字,选择依赖web(如果不需要可以不选),选择存放目录-完成(Finish)
第二步骤:测试环境准备。
2.1在项目的pox.xml文件的dependencies标签中引入fastjson依赖
2.2 实体类Student ,get和set方法自己生成(不能缺少)。
public class Student {
private int id;
private String name;
private String sex;
}
2.3 实体类Person属性是一个对象的测试。get和set方法自己生成(不能缺少)
public class Person
private String id
private Person pserson;
}
第二步骤:fastjson单个实体对象的转换。
1、需要引入:
import com.alibaba.fastjson.JSON;
public static void main(String[] args) {
//创建一个对象并将 给对象赋值
Student st = new Student();
st.setId(1);
st.setName("张三");
st.setSex("男");
//使用fastjson转化为json字符串
String studentJson = JSON.toJSONString(st);
System.out.println(studentJson);
//将json字符串转为实体对象
Student changeStudent = JSON.parseObject(studentJson,Student.class);
System.out.println(changeStudent.getName())
}
2、单个java.util.Map的操作和实体类相同。
第四步骤:list集合的json使用。
引入依赖:
import com.alibaba.fastjson.JSON;
import java.util.ArrayList;
import java.util.List;
public static void main(String[] args) {
//创建一个对象并将 给对象赋值 然后使用fastjson转化为json类型的数据
List
Student st = new Student();
st.setId(1); st.setName("张三"); st.setSex("男");
Student st2 = new Student();
st2.setId(2); st2.setName("小丽"); st2.setSex("女");
list.add(st); list.add(st2);
String studentJson = JSON.toJSONString(list);
//将对象转json
System.out.println(studentJson);
List
System.out.println(list2);
System.out.println(list2.get(0).getName());
}
第五步骤:多层实体类转json处理。
第一种:实体类Person
public static void main(String[] args) {
Person p1 = new Person(); p1.setId("111");
Person p2 = new Person(); p2.setId("222");
Person p3 = new Person(); p3.setId("333");
p1.setPserson(p2); p2.setPserson(p3);
String studentJson = JSON.toJSONString(p1);
//将对象转json
System.out.println(studentJson);
Person p4 = (Person) JSON.parseObject(studentJson,Person.class);
Person p5 = p4.getPserson();
Person p6 = p5.getPserson();
System.out.println(p6.getId());}
第二种:多层mao的转换在fastjson-1.2.2.jar中和实体类一致。
import com.alibaba.fastjson.JSON;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public static void main(String[] args) {
Map m1 = new HashMap(); m1.put("name","张三");
Map m2 = new HashMap(); m2.put("name","李四");
Map m3 = new HashMap(); m3.put("name","王二");
m1.put("map",m2); m2.put("map",m3);
String studentJson = JSON.toJSONString(m1);
//将对象转json
System.out.println(studentJson);
Map m4 = JSON.parseObject(studentJson,Map.class);
Map m5 = (Map) m4.get("map");
Map m6 = (Map) m5.get("map");
System.out.println(m6.get("name"));
}