0%

【JavaWeb】JSON

JSON学习


1 JSON入门

1.1 介绍

  • JSON(JavaScript Object Notation):JS对象符号,是一种轻量级的书交换格式(相对比于xml)。
  • 数据交换一般为客户端和服务端之间进行数据交换

1.2 数据格式

1
2
3
4
5
6
7
8
9
10
11
12
var json = {
// 单个值
"key": "value",

// 数组
"arr": [123, "abc", true]

// 对象
"obj": {
"key": value
}
}
  • 特点
    • json是一个对象,用{}来包裹数据
    • json的数据,存储形式类似key-value形式
    • json的key值要用""括起来
    • json的value值支持数字、字符串、布尔型、json对象
    • json数据之间用,进行隔开

1.3 数据获取

  • 以上面的json为例
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // 获取单个值
    var key = json.key;

    // 获取数组
    var arr = json.arr;
    var arrValue = json.arr[0];

    // 获取对象
    var obj = json.obj;
    var objValue = json.obj.key;

2 JS JSON处理

1
2
3
4
5
// 将json对象格式化为json字符串
JSON.stringify(json对象);

// 将json字符串解析为json对象
JSON.parse(json字符串);
  • json对象:用于js数据处理
  • json字符串:用于客户端与服务端进行数据交互

3 Java JSON处理

  • JSON处理的jar有很多,案例演示的是谷歌的json处理jar包
  • (1)依赖
    1
    2
    3
    4
    5
    6
    <!-- 谷歌json处理 -->
    <dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.9.0</version>
    </dependency>
  • (2)方法
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Gson gson = new Gson();

    // '对象/List/Map'转json字符串
    gson.toJson(对象/List/Map);

    // json字符串转'对象'
    gson.fromJson(json字符串, 类.class);

    // json字符串转'List'
    gson.fromJson(json字符串, new TypeToken<List<类>>(){}.getType());

    // json字符串转'Map'
    gson.fromJson(json字符串, new TypeToken<Map<类1, 类2>>(){}.getType());