zoukankan      html  css  js  c++  java
  • 简单理解JSON

    一、JSON格式

    1.什么是JSON

            JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。

    2. json格式与xml的比较

          与同样作为数据传输的格式的xml比起来,json具有以下优点: 
               - 书写简单,结构清晰,轻量级 
               - 符合javascript的原生语法,解释器引擎可以直接处理

    3. 对于json格式的几个规定:

      • 数组或对象的值可以是简单值也可以是复合值
      • 简单值包括:字符串、数值(必须是十进制标识)、布尔值和Null,其中(NaN,Infinity,-Infinity和undefined都会被转换为null)
      • 复合值包括符合json格式的数组或对象
      • 数组或对象的最后一个成员后面不能加逗号
      • 数组或对象之中的字符串必须使用双引号,不能使用单引号
      • 对象的成员名称必须使用双引号                    

    二、JSON对象

    ES5中添加了json对象,其包含两个方法:JSON.stringify()和JSON.parse()

    1. JSON.stringify() 
    用处:将一个值转换为json格式的字符串,该字符串可以被JSON.parse()解析,需要注意以下几点:

    • 原始类型的字符串解析后会自动加上双引号
    • 原始对象中如有一个成员是undefined,函数或者是xml对象,则这个成员被忽略
    • 原始对象中如果数组的成员的是undefined,函数或者是xml对象,则被转换为null
    • 正则表达式会被转换为空对象
    • 自动忽略原始对象中不可遍历的属性
    • 可以接受一个数组参数,指定需要转换成字符串的属性
    • 可以接受一个函数作为参数,指定如何来转换成字符串,注意该函数是递归处理所有的键
    • 如何被转换的对象中包含一个toJSON方法,则会使用该方法的返回值,将该返回值转换为字符串,忽略其他成员(可以被用来处理转换正则表达式的情况)

    2. JSON.parse() 
    用处:用来将json格式的字符串转换为对象。如果该json字符串不符合json格式,则会报错。

  • 相关阅读:
    PDIUSBD12指令
    (转)USB的VID和PID,以及分类(Class,SubClass,Protocol)
    静态测试
    一种循环buffer结构
    RL78 芯片复位指令
    XModem协议
    位反转的最佳算法
    CCP 协议
    AUTOSAR 架构
    HEX 文件格式
  • 原文地址:https://www.cnblogs.com/wwhai/p/8916632.html
Copyright © 2011-2022 走看看