JSON

Posted hwx1999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON相关的知识,希望对你有一定的参考价值。

JSON

全称javascript对象标记法

语法规则

  • 数组(array) []
  • 对象(object) {}
  • 名称/值对 (name/value)
  • 名称(name)置于双引号中
  • 值(value):字符串、数值、布尔、null、对象和数组
  • 并列数据用“,”分隔
{
"name":"xiaoming",
"age":20
}

相对于XML

优势:

1、没有结束标签,长度更短,读写更快

2、能够直接被JavaScript解释器解析

3、可以使用数组

JSON的解析和生成

  • var objx = JSON.parse(字符串); //解析字符串转换成对象
  • var jsonstr = JSON.stringify(objx); //将对象生成json字符串

字符串转换成对象

  • eval(字符串)

可以把字符串转换成JS代码执行

很少使用比较危险不太合适

  • JSON.parse()

大多数浏览器都支持

不符合语法格式会报错

第二参数是一个自定义函数,分别两个参数name和value,调动json对象时每个名称值对都会调用这个函数,作用:解析字符串同时对内容处理

对象转换为字符串

  • JSON.stringify(value,replacer,space)

value:必选参数,需要被转换的JavaScript对象的值,一般是对象或数组

replacer:可以省略,函数或者数组

函数:每一个名称值对都会调用这个函数,返回一个值替换原有值,如果是undefined就忽略该成员

数组:只有数组中存在的名称才能够被转换,转换后的顺序与数组中的值保持一致

space:可以省略,为了排版可以在JSON字符串中添加制表符

JSON和XML互相转换

  • $.xml2json(str);//把xml转换成json字符串
  • $.json2xml(str);//把json转换成xml字符串

以上是关于JSON的主要内容,如果未能解决你的问题,请参考以下文章

json 可视代码工作室Angular with Firebase片段

vs code 用户代码片段 html.json

错误代码:错误域 = NSCocoaErrorDomain 代码 = 3840“JSON 文本没有以数组或对象和允许未设置片段的选项开头。”

如何在android中将json数据加载到片段中

使用 json rereiver php mysql 在片段中填充列表视图

VS Code配置markdown代码片段