基础知识1.JSON知识总结

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等),这些特性使JSON成为理想的数据交换语言。此外JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。

JSON建构于两种结构:

     (1)“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),字典(dictionary),哈希表(hash table),有键列表(keyed list)。
              表现形式:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”开始,“}”结束。每个名称后跟一个“:”(冒号);多  
                                  个“‘名称/值’ 对”之间使用“,”分隔。例如,{'Name':'Lucy','Age':12}
     (2)值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
              表现形式:数组是值的有序集合。一个数组以“[”开始,“]”结束,值之间使用“,”分隔。例如: 
{
  "webSite":[
   {'Name':'baidu','site':'baidu.com'},
   {'Name':'google','site':'google.com'}
 ]
}

JSON 语法规则

JSON 语法是 JavaScript 对象表示语法的子集。
1.数据在名称/值对中;2.数据由逗号分隔;3.大括号保存对象;4.中括号保存数组

嵌套 JSON 对象

JSON 对象中可以包含另外一个 JSON 对象:

 props: {
    data: {
      type: Object,
      required: true   
   },
    id: {
      type: String,
      required: true
    }
}

JSON.parse()

JSON 通常用于与服务端交换数据。在接收服务器数据时一般是字符串。我们可以使用 JSON.parse() 方法将字符串数据转换为 JavaScript 对象。
语法:
JSON.parse(text[ ,reviver])

参数说明:

  • text:必需, 一个有效的 JSON 字符串。
  • reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数

JSON.stringify()

JSON 通常用于与服务端交换数据。在向服务器发送数据时一般是字符串。我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。

语法:
JSON.stringify(value[,replacer[,space])

参数说明:

  • value:

    必需, 一个有效的 JSON 对象。

  • replacer:

    可选。用于转换结果的函数或数组。

    如果 replacer 为函数,则 JSON.stringify 将调用该函数,并传入每个成员的键和值。使用返回值而不是原始值。如果此函数返回 undefined,则排除成员。根对象的键是一个空字符串:""。

    如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。成员的转换顺序与键在数组中的顺序一样。当 value 参数也为数组时,将忽略 replacer 数组。

  • space:

    可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果 space 大于 10,则文本缩进 10 个空格。space 有可以使用非数字,如:\t。
    JSON 使用

由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。但是 由于eval() 函数可编译并执行任何 JavaScript 代码,这也隐藏了一个潜在的安全问题,所以使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法

猜你喜欢

转载自blog.csdn.net/baidu_33438652/article/details/80922322