原文链接javascript
JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式,相似 XML但比 XML 更小、更快,更易解析
JSON是Web开发领域最知名的技术权威Douglas Crockford创造html
JSON建构于两种结构:java
这些都是常见的数据结构。事实上大部分现代计算机语言都以某种形式支持它们。这使得一种数据格式在一样基于这些结构的编程语言之间交换成为可能。编程
JSON有两种表示结构,对象和数组。json
对象是一个无序的“‘名称/值’对”集合。一个对象以{
(左括号)开始,}
(右括号)结束。每一个“名称”后跟一个:
(冒号);“‘名称/值’ 对”之间使用,
(逗号)分隔。数组
{ "name": "xing", "age": 999 }
数组是值(value)的有序集合。一个数组以[
(左中括号)开始,]
(右中括号)结束。值之间使用,
(逗号)分隔。浏览器
[ { key1:value1, key2:value2 }, { key3:value3, key4:value4 } ]
JSON 一般用于与服务端交换数据。在接收服务器数据时通常是字符串。咱们可使用 JSON.parse() 方法将数据转换为 JavaScript 对象,使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串.
JSON.parse(text[, reviver])
JSON.stringify(value[, replacer[, space]])
首先咱们定义一个对象,因为JSON使用用JavaScript编写的,因此对JSON的操做无异于JavaScript对数组与对象的操做安全
let Obj = { name: "xing", age: "99", hobby: ["吃", "喝", "玩"] }
服务器通常返回JSON字符串,咱们用 JSON.stringify()
将这个对象转换成JSON字符串模拟服务器返回的数据,而后再用JSON.parse()
解析成JSON对象来使用服务器
let jsonStr = JSON.stringify(Obj) // string: {"name":"xing","age":"99","hobby":["吃","喝","玩"]} let jsonObj = JSON.parse(jsonStr) // Obect: { name: 'xing', age: '99', hobby: [ '吃', '喝', '玩' ] }
// 读取 let myName = jsonObj.name console.log(myName) // xing // 新增 josnObj.sex = "male" console.log(josnObj) //{ name: 'xing', age: '99', hobby: [ '吃', '喝', '玩' ], sex: 'female' } // 修改 josnObj.sex = "female" console.log(josnObj) // { name: 'xing', age: '99', hobby: [ '吃', '喝', '玩' ], sex: 'female' } // 删除 delete josnObj.sex console.log(josnObj) // { name: 'xing', age: '99', hobby: [ '吃', '喝', '玩' ] }
用for in
遍历JSON数据数据结构
for(let x in jsonObj){ console.log(`${x}:${jsonObj[x]}`) } /* name:xing age:99 hobby:吃,喝,玩 */
到此,咱们了解JSON的使用,JSON已是JavaScript标准的一部分。目前,主流的浏览器对JSON支持都很是完善。应用JSON,咱们能够从XML的解析中摆脱出来,对那些应用AJAX的Web 2.0网站来讲,JSON是目前最灵活的轻量级方案。
你们能够关注个人公众号,一块儿玩耍。有技术干货也有扯淡乱谈,关注回复[888]领取福利
左手代码右手砖,抛砖引玉