参考资料

  1. 如何将JSON转换为自定义对象?
  2. 如何实现JSON数据的动态解析?
  3. XML和Json在线互转有哪些
  4. 如何将图片转化为json
  5. JSON(JavaScript Object Notation)是一种轻量级的数据交换格式
  6. JSON实战教程PDF:从入门到精通的数据处理指南
  7. JSON五种基本句型简介
  8. JSON数据类型详解:基本类型与复合类型全面解析

JSON五种基本句型简介

功能

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,也易于机器解析和生成。

详细属性参数说明

  1. 字符串(String)

    • 必须用双引号括起来

    • 支持Unicode字符

    • 支持转义字符如:\n, \t, ", \ 等

  2. 数字(Number)

    • 整数或浮点数

    • 不支持NaN和Infinity

    • 不支持八进制和十六进制表示

  3. 布尔值(Boolean)

    • true 或 false

    • 必须小写

  4. 空值(Null)

    • 表示空值

    • 必须小写为null

  5. 数组(Array)

    • 有序的值集合

    • 用方括号[]包裹

    • 元素间用逗号分隔

  6. 对象(Object)

    • 无序的键值对集合

    • 用花括号{}包裹

    • 键必须是字符串

    • 键值对间用逗号分隔

使用方法讲解

  1. 基本语法规则:

    • 数据在键值对中

    • 数据由逗号分隔

    • 花括号保存对象

    • 方括号保存数组

  2. 解析JSON:

    • JavaScript: JSON.parse()

    • Python: json.loads()

    • Java: new JSONObject()/JSONArray()

  3. 生成JSON:

    • JavaScript: JSON.stringify()

    • Python: json.dumps()

    • Java: JSONObject.toString()/JSONArray.toString()

案例内容解析

{
  "person": {
    "name": "张三",
    "age": 30,
    "isStudent": false,
    "address": {
      "city": "北京",
      "postalCode": "100000"
    },
    "hobbies": ["阅读", "游泳", "编程"],
    "education": [
      {
        "degree": "本科",
        "year": 2015
      },
      {
        "degree": "硕士",
        "year": 2018
      }
    ]
  },
  "metadata": null
}

解析:

  1. 顶层是一个对象,包含"person"和"metadata"两个键

  2. "person"值是嵌套对象,包含基本数据类型和复杂类型

  3. "name"是字符串类型

  4. "age"是数字类型

  5. "isStudent"是布尔类型

  6. "address"是嵌套对象

  7. "hobbies"是字符串数组

  8. "education"是对象数组

  9. "metadata"是null值

TAG:JSON