JSON

  简介:

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

 

对象格式

  一本书

    书名

    简介

 

  java

    class Book{

      private String name;

      private String info;

      get/set...

    }

    Book b = new Book();

    b.setName(“金苹果”);

    b.setInfo(“种苹果”);

    ...

  js:

    var b = new Object();

    b.name = "金苹果";

    b.info = "种苹果";

 

  XML:

    <book>

      <name>金苹果</name>

      <info>种苹果</info>

    </book>

 

  JSON:

    {

      "name":"金苹果",

      "info":"种苹果"

    }

  一个对象, 由一个大括号表示.

    括号中 描述对象的属性 . 通过键值对来描述对象的属性

    (可以理解为, 大括号中, 包含的是一个个的键值对.)

  格式:

    键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.

    键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析.)

    键值对的值, 可以是JS中的任意类型的数据

 

 

数组格式

  在JSON格式中可以与对象互相嵌套

    [元素1,元素2...]

 

案例

  {

    "name":"好家伙",

    "age":18,

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

    "name":"刘老头",

    "info":"罗锅子"

    }],

    "heihei":{

    "name":"大长刀",

    "length":"40m"

    }

  }

JavaJSON

  做什么?

    将Java中的对象 快速的转换为 JSON格式的字符串.

    将JSON格式的字符串, 转换为Java的对象.

 

Gson

  将对象转换为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);

 

  将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);

 

FastJson

  将对象转换为JSON字符串

    转换JSON字符串的步骤:

      1. 引入JAR

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

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

    案例:

      Book b = BookDao.find();

      String json=JSON.toJSONString(b);

      System.out.println(json);

  将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);