• json学习随笔


    一.json与XML的区别

    与 XML 相同之处

    • JSON 是纯文本
    • JSON 具有"自我描述性"(人类可读)
    • JSON 具有层级结构(值中存在值)
    • JSON 可通过 JavaScript 进行解析
    • JSON 数据可使用 AJAX 进行传输

    与 XML 不同之处

    • 没有结束标签
    • 更短
    • 读写的速度更快
    • 能够使用内建的 JavaScript eval() 方法进行解析
    • 使用数组
    • 不使用保留字

    为什么使用 JSON?

    对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:

    使用 XML

    • 读取 XML 文档
    • 使用 XML DOM 来循环遍历文档
    • 读取值并存储在变量中

    使用 JSON

    • 读取 JSON 字符串
    • 用 eval() 处理 JSON 字符串

    二.JSON 语法

     

    JSON 语法规则

    JSON 语法是 JavaScript 对象表示语法的子集。

    • 数据在名称/值对中
    • 数据由逗号分隔
    • 大括号 {} 保存对象
    • 中括号 [] 保存数组,数组可以包含多个对象

    JSON 名称/值对

    JSON 数据的书写格式是:

    key : value

    名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

    "name" : "菜鸟教程"

    这很容易理解,等价于这条 JavaScript 语句:

    name = "菜鸟教程"

    JSON 值

    JSON 值可以是:

    • 数字(整数或浮点数)
    • 字符串(在双引号中)
    • 逻辑值(true 或 false)
    • 数组(在中括号中)
    • 对象(在大括号中)
    • null

    JSON 数字

    JSON 数字可以是整型或者浮点型:

    { "age":30 }

    JSON 对象

    JSON 对象在大括号 {} 中书写:

    {key1 : value1, key2 : value2, ... keyN : valueN }

    对象可以包含多个名称/值对:

    { "name":"菜鸟教程" , "url":"www.runoob.com" }

    这一点也容易理解,与这条 JavaScript 语句等价:

    name = "菜鸟教程" url = "www.runoob.com"

    JSON 数组

    JSON 数组在中括号 [] 中书写:

    数组可包含多个对象:

    [
        { key1 : value1-1 , key2:value1-2 }, 
        { key1 : value2-1 , key2:value2-2 }, 
        { key1 : value3-1 , key2:value3-2 }, 
        ...
        { keyN : valueN-1 , keyN:valueN-2 }, 
    ]
    { "sites": [ { "name":"菜鸟教程" , "url":"www.runoob.com" }, { "name":"google" , "url":"www.google.com" }, { "name":"微博" , "url":"www.weibo.com" } ] }

    在上面的例子中,对象 sites 是包含三个对象的数组。每个对象代表一条关于某个网站(name、url)的记录。

    JSON 布尔值

    JSON 布尔值可以是 true 或者 false:

    { "flag":true }

    JSON null

    JSON 可以设置 null 值:

    { "runoob":null }
  • 相关阅读:
    rbac 授权
    docker overlayfs k8s overlayfs 目录文件太大
    pod oom
    文档怎么写
    fabric
    nacos 报错 Unknown column 'encrypted_data_key' in 'field list'
    【Oracle】RAC在启动时ohasd超时导致启动失败
    【SQLServer】查看sqlserver中的历史查询记录
    【Oracle】High CPU (%sys) Usage On Oracle Linux 6 UEK3 RAC Node
    【MySQL】MySQL 5.7中过滤复制和部分复制的变化
  • 原文地址:https://www.cnblogs.com/LaiY9/p/14507020.html
Copyright © 2020-2023  润新知