美文网首页
JSON 基础

JSON 基础

作者: Tinyspot | 来源:发表于2023-02-17 20:45 被阅读0次

    1. JSON 基础

    • 官网 https://www.json.org/json-en.html
    • JSON 是一种轻量级的数据格式,不支持注释

    1.1 JSON对象

    • 键必须是字符串
    • 值有六种数据类型
      • 字符串(String)
      • Number
      • Boolean (false、true、null 字面值必须是小写英文字母)
      • null/empty
      • 对象(Object)
      • 数组(Array)

    1.2 JSON 的优缺点

    • 优点
      • 完全独立于语言
      • 数据格式比较简单,易于读写,易于解析
    • 缺点
      • 不支持注释
      • 不支持多行字符串

    2. 语法

    • {} 表示对象
    • [] 表示数组
    • : 代表的是前后之间的关系,冒号前面是属性的名称,后面是属性的值,这个值可以是基本数据类型,也可以是引用数据类型

    2.1 JSON Object

    格式一:{"key":value}

    {
        "id": 1001,
        "code": "T001"
    }
    

    格式二:{"key1":value, "key2":{ k1:v1, k2:v2} }

    {
        "id": 1001,
        "code": "T001",
        "user": {
            "id": 101,
            "name": "Tinyspot"
        }
    }
    

    2.2 JSON Array

    格式一:["Tinyspot","Other"]

    格式二:[{}, {}]

    [
        {
            "id": 1001,
            "user": ["Tinyspot","Other"]
        }
    ]
    

    2.3 JSON 嵌套

    格式一:{"key1":value, "key2":[value1, value2]}

    {
        "id": 1001,
        "user": ["Tinyspot", "Other"]
    }
    

    格式二:{"key1":value, "key2":[{}, {}]}

    {
        "id": 1001,
        "user": [
            {
                "id": 101,
                "name": "Tinyspot"
            },
            {
                "id": 102,
                "name": "Other"
            }
        ]
    }
    

    格式三:

    [
        {
            "id": 1001,
            "user": ["Tinyspot","Other"]
        }
    ]
    

    3. JSON 解析器

    • Fastjson
    • Gson
    • Jackson
    • Json-lib

    3.1 Fastjson

    • 在转化过程中使用到的对象,一定要有 get/set 方法和无参构造函数

    3.2 Gson

    3.3 Jackson

    • SpringBoot 默认内置的是 Jackson
    • 启动类 implements WebMvcConfigurer ,复写 configureMessageConverters

    3.4 Json-lib

    • 依赖很多第三方包

    相关文章

      网友评论

          本文标题:JSON 基础

          本文链接:https://www.haomeiwen.com/subject/kmxvkdtx.html