简介:

JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.

 

对象格式:

   JSON:

      {

      ”name”:”金苹果”,

      ”info”:”种苹果”

      }

 

一个对象, 由一个大括号表示. 括号中 描述对象的属性 . 通过键值对来描述对象的属性 (可以理解为, 大括号中, 包含的是一个个的键值对.) 格式: 键与值之间使用冒号连接, 多个键值对之间使用逗号分隔. 键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解 析.) 键值对的值, 可以是JS中的任意类型的数据

 

数组格式:在JSON格式中可以与对象互相嵌套 [元素1,元素2…]

 

案例:

            {

      ”name”:”王丽”, “age”:18,

      ”pengyou”:[“张三”,”李四”,”王二”,”麻子”,{

       “name”:”S1mple”, “info”:”简单男孩”

      }],

        ”heihei”:{

            ”name”:”大长刀”,

            ”length”:”40m”

            }

      }

 

JSON的解析有两种方式,分别是:GSON和FastJson

1.GSON:

    1.1将对象转换为JSON字符串:

    转换JSON字符串的步骤: 1. 引入JAR包

               2. 在需要转换JSON字符串的位置编写如下代码即可:

                String json = new Gson().toJSON(要转换的对象);

              案例:

      Book b = BookDao.find(); String json = new Gson().toJson(b); System.out.println(json);

 

    1.2将JSON字符串转换为对象:

                 1. 引入JAR包

                 2. 在需要转换Java对象的位置, 编写如下代码:

                    对象 = new Gson().fromJson(JSON字符串,对象类型.class);

    案例:

       String json = “{\”id\”:1,\”name\”:\”金苹果\”,\”author\”:\”张三 \”,\”info\”:\”嘿嘿嘿嘿嘿嘿\”,\”price\”:198.0}”;

       Book book = new Gson().fromJson(json, Book.class); System.out.println(book);

 

 

2.FastJson:

      2.1 将对象转换为JSON字符串:

        转换JSON字符串的步骤: 1. 引入JAR包

                   2. 在需要转换JSON字符串的位置编写如下代码即可:

                   String json=JSON.toJSONString(要转换的对象);

      案例:

        Book b = BookDao.find(); String json=JSON.toJSONString(b);

        System.out.println(json);

 

      2.2 将JSON字符串转换为对象:

                    1. 引入JAR包

                    2. 在需要转换Java对象的位置, 编写如下代码:

                     类型 对象名=JSON.parseObject(JSON字符串, 类型.class);

                       或

                      List<类型> list=JSON.parseArray(JSON字符串,类型.class);

       案例:

          String json = “{\”id\”:1,\”name\”:\”金苹果\”,\”author\”:\”张三 \”,\”info\”:\”嘿嘿嘿嘿嘿嘿\”,\”price\”:198.0}”;

          Book book = JSON.parseObject(json, Book.class);

          System.out.println(book)

 

版权声明:本文为JackeyLove9原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/JackeyLove9/p/15118441.html