JSON(JavaScript Object 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依靠
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
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> list= new ArrayList<Student>(); 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<Student> list2 = JSON.parseArray(studentJson,Student.class); 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"));}
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!