一、JSON是什么
· JSON,全称是 JavaScript Object Notation,即 JavaScript对象标记法。
· JSON是一种轻量级(Light-Meight)、基于文本的(Text-Based)、可读的(Human-Readable) 格式。
· JSON 的名称中虽然带有JavaScript,但这是指其语法规则是参考JavaScript对象的,而不 是指只能用于JavaScript 语言。
· JSON无论对于人,还是对于机器来说,都是十分便于阅读和书写的,而且相比 XML(另一 种常见的数据交换格式),文件更小,因此迅速成为网络上十分流行的交换格式。· 近年来JavaScript已经成为浏览器上事实上的标准语言,JavaScript 的风靡,与JSON 的流 行也有密切的关系。
· 因为JSON本身就是参考JavaScript 对象的规则定义的,其语法与JavaScript定义对象的语 法几乎完全相同。
· JSON格式的创始人声称此格式永远不升级,这就表示这种格式具有长时间的稳定性,10 年前写的文件,10年后也能用,没有任何兼容性问题。
2. JSON 的语法规则是怎样的?
JSON 的语法规则十分简单,可称得上“优雅完美”,总结起来有:
数组(Array)用方括号(“[]”)表示。
对象(0bject)用大括号(“{}”)表示。
名称/值对(name/value)组合成数组和对象。
名称(name)置于双引号中,值(value)有字符串、数值、布尔值、null、对象和数组。
并列的数据之间用逗号(“,”)分隔
{
"name": "xdr630",
"favorite": "programming"
}
三、JSON的解析和生成(JSON 和 JS 对象互转)
- 在JavaScript中,有两个方法与此相关:
JSON.parse
和JSON.stringify
。
JSON 和 JS 对象互转
- 要实现从JSON字符串转换为JS对象,使用
JSON.parse()
方法:
<script>
var str = '{"name": "兮动人","age":22}';
var obj = JSON.parse(str);
console.log(obj);
</script>
2.要实现从JS对象转换为JSON字符串,使用 JSON.stringify()
方法
<script>
var str = '{"name": "兮动人","age":22}';
var obj = JSON.parse(str);
console.log(obj);
var jsonstr = JSON.stringify(obj);
console.log(jsonstr);
</script>