GettingStartedwithJSONJSON的全称是“JavaScriptObjectNotation”,意思是JavaScriptObjectNotation。更小、更快、更易解析的JSON是Web开发领域最著名的技术权威DouglasCrockford创建的JSON,指的是JavaScript对象表示法(JavaScriptObjectNotation)JSON是一种轻量级的文本数据交换格式,JSON独立于JSON语言自描述且更易于理解的JSON建立在两种结构之上:名称/值对的集合。在不同的语言中,它被理解为对象(object)、记录(record)、结构(struct)、字典(dictionary)、哈希表(hashtable)、键控列表(keyedlist),或者关联数组(associativearray)。有序的值列表。在大多数语言中,它被理解为数组(array)。这些是常见的数据结构。事实上大多数现代计算机语言都以某种形式支持它们。这使得数据格式能够在同样基于这些结构的编程语言之间交换。JSON语法的两种表示结构JSON有两种表示结构,对象和数组。对象是“名称/值对”的无序集合。对象以{(左括号)开头,以}(右括号)结尾。每个“名称”后跟一个:(冒号);“'名称/值'对”由,(逗号)分隔。{"name":"xing","age":999}数组是值的有序集合。数组以[(左方括号)开始,以](右方括号)结束。使用,(逗号)分隔值。[{key1:value1,key2:value2},{key3:value3,key4:value4}]语法规则数据在名称/值对中数据用逗号分隔大括号持有对象括号持有数组JSON值可以是:数字(整数或浮点数)字符串(双引号)逻辑值(真或假)数组(方括号)对象(大括号)null在JavaScript中使用JSONJSON通常用于与服务器交换数据。接收服务器数据时一般为字符串。我们可以使用JSON.parse()方法将数据转换为JavaScript对象,使用JSON.stringify()方法将JavaScript对象转换为字符串。JSON.parse(text[,reviver])JSON.stringify(value[,replacer[,空格]])eval()方法存在性能和安全问题。不建议使用它。首先,我们定义一个对象。由于JSON是用JavaScript写的,所以JSON的操作和JavaScript对数组和对象的操作没有区别letObj={name:"xing",age:"99",hobby:["eat","drink","play"]}服务端一般返回一个JSON字符串,我们使用JSON.stringify()把这个对象转成JSON字符串模拟服务端返回的数据,然后使用JSON.parse()解析成JSON使用的对象letjsonStr=JSON.stringify(Obj)//string:{"name":"xing","age":"99","hobby":["eat","drink","play"]}letjsonObj=JSON.parse(jsonStr)//对象:{name:'xing',age:'99',hobby:['eat','drink','play']}JSONCRUD//读取letmyName=jsonObj.nameconsole.log(myName)//xing//添加josnObj.sex="male"console.log(josnObj)//{name:'xing',age:'99',hobby:['eat','drink','play'],sex:'female'}//修改josnObj.sex="female"console.log(josnObj)//{name:'xing',age:'99',hobby:['eat','drink','play'],sex:'female'}//deletedeletejosnObj.sexconsole.log(josnObj)//{name:'xing',age:'99',hobby:['eat','drink','play']}使用forin遍历JSON数据for(letxinjsonObj){console.log(`${x}:${jsonObj[x]}`)}/*name:xingage:99hobby:eat,drink,play*/至此,我们明白了JSON的用途,它已经是JavaScript标准的一部分。目前主流浏览器对JSON的支持都很好。使用JSON,我们可以摆脱XML解析。对于那些使用AJAX的Web2.0网站,JSON是目前最灵活的轻量级解决方案。参考链接:json.org菜鸟教程MDNJSON在线解析原文链接大家可以关注我的公众号一起玩。有技术干货和废话,关注回复【888】领取福利,左手代码,右手搬砖,抛砖引玉
