JSON是存储和交换文本信息的语法。类似XML.JSON比XML更小,更快,更易解析。JSON语法是JavaScript语法的子集,JSON语法规则,数据以键值对方式存储,不同的数据有逗号隔开。大括号保存对象中括号保存数组,目前据我理解====>json只存在对象中,对象能被数组保存,同样数组可以存在对象中。具体格式{键:值} === {key:value},[{键:值},{键:值},{键:值}] === [{key:value},{key:value},{key:value}],嵌套JSON对象:{键:[{键:值},{键:值},{键:值}],键:[{键:值},{键:值},{键:值}]},或者{键:{{键:值},{键:值},{键:值}},键:{{键:值},{键:值},{键:值}}}
修改值或添加值{键:值}.键=‘新值’; let myJson = {键:值}; myJson.键 = ‘新值’; myJson['键'] = '新值';
删除JSON中存在的键,
var myJson = {key:value,key1:value1,key2:value2,key3:value3};
删除key1 : delete myJson.key1 结果myJson = {key:value,key2:value2,key3:value3}
添加key1: myJson.key1 = 'value1'; 结果myJson = {key:value,key2:value2,key3:value3;key1:value1}
删除key2: delete myJson['key2'] 结果myJson = {key:value,key3:value3,key1:value1,}
delete运算符并不是彻底删除元素,而是删除它的值,但仍会保留空间。运算符delete只是将该值置为undefined,而不会影响数组长度,即将其变为稀疏数组(<<JS权威指南>> 7.5节)当然在js对象中有彻底的删除方案。后面还是要学习的
JSON数组
数组作为JSON对象 JSON中数据在中括号中书写。JSON中数组值必须是合法的JSON数据类型(字符串,数字,对象,数组,布尔值或null)。 JavaScript中,数组值可以是以上的JSON数据类型,也可以是JavaScript的表达式,包括函数,日期及underfined。
JSON对象中的数组 对象的属性的值可以是一个数组:
let myObj = {
'key':'value',
'key1':'value1',
'keyArray':'['Array1','Array2','Array3']'
}
可以使用索引值来访问数组 x = myObj.keyArray[1] 结果 console.log(x) 打印结果Array2
还可以使用for-in来访问数组
for(i in myObj.keyArray){
x += myObj.keyArray[i] + '<br>'
}
还可以使用for循环
for(i = 0; i<myObj.keyArray.length;i++){
x += myObj.keyArray[i] + '<br>';
}