• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    java操作json數據之fastjson

          JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數據互換格局。它基于 ECMAScript (歐洲計較機協會擬定的js規范)的一個子集,采用完全自力于編程說話的文本格局來存儲和暗示數據。簡練和清楚的條理布局使得 JSON 當作為抱負的數據互換說話。 易于人閱讀和編寫,同時也易于機械解析和生當作,并有用地晉升收集傳輸效率。

          本家兒要介紹:com.alibaba.fastjson.JSON中的方式的利用。如下圖所示

    東西/原料

    • 電腦
    • intellij IDEA 或者eclipse 2017

    方式/步調

    1. 1

      第一步調:建立一個springboot項目。

      1、file--》new--》project...或者Model...打開建立窗口

      2、選擇建立的項目為spring initializr 進入springboot項目建立步調(也可以選擇類型java,建立一個通俗java web項目)

      3、輸入項目名字,選擇依靠web(若是不需要可以不選),選擇存放目次-完當作(Finish)

    2. 2

      第二步調:測試情況籌辦。

      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;

      }

    3. 3

      第二步調: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的操作和實體類不異。

    4. 4

      第四步調: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());}

    5. 5

      第五步調:多層實體類轉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"));}

    注重事項

    • 實體類的屬性必然要有對應的set和get方式不然,轉換時對應的屬性數據會丟掉。
    • 開辟情況jdk1.8 IDEA2018.2.2 maven apache-maven-3.5.4
    • 通俗java項目手動下載:fastjson-1.2.2.jar添加依靠
    • 發表于 2019-04-23 20:01
    • 閱讀 ( 609 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆