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