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
  • 阅读 ( 785 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

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 问答工具