wangjiedadada  

1.JSONObject对象?

  概念:Js对象。 

    提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。

  常用方法:JSONObject.tojsonString(jsonobject对象):将js对象转成js对象字符串表示方式;

         JSONObject.parseobject(js字符串):将js字符串转成js对象;

       JSON.toJsonString(Object object);将jsonobject对象转成jsonstring字符串。

       JSON.parseObject(String string);将json字符串转成jsonobject对象。

 

       

       

       

       

创建jsonobject对象代码演示:

  I.使用原生方式创建JSONobject对象。

 1 /**
 2      * 使用JSONObject原生方式创建对象
 3      */
 4     @Test
 5     public void fastJsonDemo() {
 6         JSONObject zhangsan = new JSONObject ( );
 7         try {
 8             //添加
 9             zhangsan.put ("name", "张三");
10             zhangsan.put ("age", 18.4);
11             zhangsan.put ("birthday", "1900-20-03");
12             zhangsan.put ("majar", new String[]{"哈哈", "嘿嘿"});
13             zhangsan.put ("null", null);
14             zhangsan.put ("house", false);
15             System.out.println (zhangsan.toString ( ));
16         } catch (JSONException e) {
17             e.printStackTrace ( );
18         }
19     }

 

  II.使用往构造参数中传入map对象创建:

 1  /**
 2      * 使用Jsonobject object = new ObjectObject(Map<String,Object>map)
 3      */
 4     @Test
 5     public void test01() {
 6         HashMap<String, Object> zhangsan = new HashMap<> ( );
 7         zhangsan.put ("name", "张三");
 8         zhangsan.put ("age", 18.4);
 9         zhangsan.put ("birthday", "1900-20-03");
10         zhangsan.put ("majar", new String[]{"哈哈", "嘿嘿"});
11         zhangsan.put ("null", null);
12         zhangsan.put ("house", false);
13         System.out.println (new JSONObject (zhangsan).toString ( ));
14         System.out.println ("==================================" );
15         System.out.println (new JSONObject ( zhangsan ) );
16 
17     }

 

  III.使用json.tojson(object)方式创建jsonobject对象

 1   /**
 2      * JSON.TOJSON(Object):方法创建jsonobject对象
 3      */
 4     @Test
 5     public void test02() {
 6         User user = new User ( );
 7         user.setId (1);
 8         user.setName ("吴亚慧");
 9         user.setAge (23);
10         user.setEmail ("ddd@qq.com");
11         Object userjson = JSON.toJSON (user);
12         System.out.println ("userjson:" + userjson);
13         System.out.println ("userjsonString:" + JSONObject.toJSONString (userjson));
14     }

  iv:将jsonstring字符串转成jsonobject对象。

1 String studentString = "{\"id\":1,\"age\":2,\"name\":\"zhang\"}";
2  
3 //JSON字符串转换成JSON对象
4 JSONObject jsonObject1 = JSONObject.parseObject(stuString);
5  
6 System.out.println(jsonObject1);

  iiv:list ->string->json.arrayjson(String)

  

 1 ArrayList<Student> studentLsit = new ArrayList<>();
 2         Student student1 = new Student();
 3         student1.setId(1);
 4         student1.setAge("20");
 5         student1.setName("asdasdasd");
 6  
 7         studentLsit.add(student1);
 8  
 9         Student student2 = new Student();
10         student2.setId(2);
11         student2.setAge("20");
12         student2.setName("aaaa:;aaa");
13  
14         studentLsit.add(student2);
15  
16         //list转json字符串
17         String string = JSON.toJSON(studentLsit).toString();
18         System.out.println(string);
19  
20         //json字符串转listJson格式
21         JSONArray jsonArray = JSONObject.parseArray(string);
22  
23         System.out.println(jsonArray);

 

 

 1.1json类的继承关系?

  

 

  1.2 JSONObject类解读

  

  

2.创建json对象的几种方式?

  2.1介绍:

    a.使用原生的方式创建 JSONObject jsonobject = new JSONObject();

    b.创建一个实体类,然后将这个实体类转成jsonobject对象

    c.创建一个hashmap,并赋值,然后将这个hashmap转成jsonobject对象。

    d.通过js字符串转换生成js对象。

               e.在list集合里面添加对象,然后将list转成jsonobject对象。

  2.2代码示例:

  1 package com.example.demo.jastjson;
  2 
  3 import com.alibaba.fastjson.JSON;
  4 import com.alibaba.fastjson.JSONArray;
  5 import com.alibaba.fastjson.JSONException;
  6 import com.alibaba.fastjson.JSONObject;
  7 import com.example.demo.pojo.Student;
  8 import com.example.demo.pojo.Student1;
  9 import org.junit.jupiter.api.Test;
 10 
 11 import java.util.ArrayList;
 12 import java.util.HashMap;
 13 
 14 public class FastJsonDemo {
 15 
 16     @Test
 17     public void test01() throws Exception {
 18 
 19 
 20         //方式1:创建原生jsonobject对象
 21         JSONObject zhangsan = new JSONObject ( );
 22         try {
 23             //添加
 24             zhangsan.put ("name", "张三");
 25             zhangsan.put ("age", 18.4);
 26             zhangsan.put ("birthday", "1900-20-03");
 27             zhangsan.put ("majar", new String[]{"哈哈", "嘿嘿"});
 28             zhangsan.put ("null", null);
 29             zhangsan.put ("house", false);
 30             System.out.println (zhangsan.toString ( ));
 31         } catch (JSONException e) {
 32             e.printStackTrace ( );
 33         }
 34 
 35 
 36         //方式2:通过hashMap创建jsonObject对象
 37         HashMap<String, Object> zhangsan1 = new HashMap<> ( );
 38         zhangsan1.put ("name", "张三");
 39         zhangsan1.put ("age", 18.4);
 40         zhangsan1.put ("birthday", "1900-20-03");
 41         zhangsan1.put ("majar", new String[]{"哈哈", "嘿嘿"});
 42         zhangsan1.put ("null", null);
 43         zhangsan1.put ("house", false);
 44         System.out.println (new JSONObject (zhangsan1).toString ( ));
 45 
 46 
 47         //方式3:通过实体类生成
 48         Student1 student = new Student1 ( );
 49         student.setId (1L);
 50         student.setAge ("20");
 51         student.setName ("张三");
 52         //生成json格式的Student的对象
 53         System.out.println (JSON.toJSON (student));
 54         //对象转成string
 55         String stuString = JSONObject.toJSONString (student);
 56         //jsonstring字符串转jsonobject对象
 57         Object stu = JSONObject.parse (stuString);
 58         System.out.println ("student 的Json字符串:" + stuString);
 59         System.out.println ("stu=>>>>>" + stu);
 60 
 61 
 62         //方式4:通过json字符串生成json对象
 63         String studentString = "{\"id\":1,\"age\":2,\"name\":\"zhang\"}";
 64         //JSON字符串转换成JSON对象
 65         JSONObject jsonObject1 = JSONObject.parseObject (stuString);
 66         System.out.println (jsonObject1);
 67 
 68 
 69         //方式四:通过list里面添加对象,使用jSON.tojson方法,转成jsonObject,JsonObject转tojsonString方法(JSONObject.toString)
 70         ArrayList<Student1> studentLsit = new ArrayList<> ( );
 71         Student1 student1 = new Student1 ( );
 72         student1.setId (1L);
 73         student1.setAge ("20");
 74         student1.setName ("asdasdasd");
 75 
 76         studentLsit.add (student1);
 77 
 78         Student1 student2 = new Student1 ( );
 79         student2.setId (2l);
 80         student2.setAge ("20");
 81         student2.setName ("aaaa:;aaa");
 82 
 83         studentLsit.add (student2);
 84         System.out.println ("============================");
 85         //list转json字符串
 86         String string = JSON.toJSON (studentLsit).toString ( );
 87         System.out.println (string);
 88         System.out.println ("=============================");
 89         //json字符串转listJson格式
 90         JSONArray jsonArray = JSONObject.parseArray (string);
 91 
 92         System.out.println (jsonArray);
 93 
 94         //测试jsonobject
 95         JSONObject jsonObject = new JSONObject ( );
 96         jsonObject.put ("name", "王杰");
 97         jsonObject.put ("age", "23");
 98         jsonObject.put ("id", "1");
 99         jsonObject.put ("address", "北京市");
100         jsonObject.put ("email", "22222@qq.com");
101 
102         System.out.println ("jsonObject:" + jsonObject);
103         String string1 = JSONObject.toJSONString (jsonObject);
104         System.out.println ("jsonObjectString:" + string1);
105         System.out.println ("jsonString===>>jsonObject" + JSONObject.parseObject (string1));
106 
107     }
108 }

3.JSONObject序列化和反序列化操作?

1 String text = JSON.toJSONString(obj); //序列化
2 VO vo = JSON.parseObject("{...}", VO.class); //反序列化

4.FastJson使用依赖?

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>x.x.x</version>
</dependency>

5.github地址?

https://github.com/alibaba/fastjson

 

参考文章:

https://blog.csdn.net/u012448904/article/details/84292821

FastJson简明教程

https://www.runoob.com/w3cnote/fastjson-intro.html

json解析:

https://www.json.cn/

posted on 2021-08-02 11:28  wangjiedadada  阅读(177)  评论(0编辑  收藏  举报