@zhouyy
2018-05-22T07:44:07.000000Z
字数 2106
阅读 576
js
官网规定:键和值最好都应用双引号"key":"value"
JSON 语法是 JavaScript 对象表示语法的子集。
,{}[]
var sites = [{ "name":"runoob" , "url":"www.runoob.com" },{ "name":"google" , "url":"www.google.com" },{ "name":"微博" , "url":"www.weibo.com" }];///可以像这样访问 JavaScript 对象数组中的第一项(索引从 0 开始):sites[0].name;//返回 runoob
myObj = {"name":"runoob","alexa":10000,"sites": {"site1":"www.runoob.com","site2":"m.runoob.com","site3":"c.runoob.com"}}//你可以使用点号(.)或者中括号([])来访问嵌套的 JSON 对象。x = myObj.sites.site1;// 或者x = myObj.sites["site1"];//删除delete myObj.sites["site1"]
json 对象和 json 字符串的区别:
var str2 = { "name": "asan", "sex": "man" };
var str1 = '{ "name": "deyuyi", "sex": "man" }';
在使用for遍历时,只能通过 myObj[x] 来获取相应属性的值,而不能使用 myObj.x
<div id="demo"></div><script>var myObj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com" };for (x in myObj) {document.getElementById("demo").innerHTML += myObj[x] + "<br>";}</script>
其中对象包括键值对(属性:属性值){key: value},value 可为 str,num,list,obj。取值使用 objcet.key
{key: value, key2:value2,} 键:值用冒号分开,对间用,连接
数组包含元素:num,str,list,objcet 都可以,利用索引访问 [index],用 . 连接各个值:
e.g:
var stu = {"student": //stu 对象包含student的key,值为一个数组[ //数组的每一个值为一个具体的学生对象{"name": "Tom","Grade":1, "age":11, "gender": "M"}, //学生对象的键为名字,值为对应属性{"name": "Jerry", "Grade":1, "age":10, "gender": "M"} //每个属性对应的是一个key,value对],"classroom": {"class1": "room1", "class2": "room2"} //对象的值,嵌套对象};
读取数据:
document.write(stu.student[1].name); // 输出第二个学生名document.write(stu.student[0].age); // 输出第一个学生年龄document.write(stu.classroom.class1); // 输出 classroom 的 class1 值document.write(stu["classroom"].class2); // 也可用中括号键访问对象值
JSON 通常用于与服务端交换数据。
在接收服务器数据时一般是字符串。
我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。
例如我们从服务器接收了以下数据:
{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }//我们使用 JSON.parse() 方法处理以上数据,将其转换为 JavaScript 对象:var obj = JSON.parse('{ "name":"runoob", "alexa":10000, "site":"www.runoob.com" }');
解析前要确保你的数据是标准的 JSON 格式,否则会解析出错。
你可以使用我们的在线工具检测:https://c.runoob.com/front-end/53。
JSON 通常用于与服务端交换数据。
在向服务器发送数据时一般是字符串。
我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。
//例如我们向服务器发送以下数据:var obj = { "name":"runoob", "alexa":10000, "site":"www.runoob.com"};//我们使用 JSON.stringify() 方法处理以上数据,将其转换为字符串:var myJSON = JSON.stringify(obj);