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 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!