不得不说在创建Web应用时,经常与后端进行数据交互,了解json,如何读取json的内容,以及json数组(js数组)
1.简单json格式的数据,下面js代码
var data={
"city" :"shanghai",
"categray" :1,
"name" : "xiao"
}
console.log(data['city']);//shanghai
2,进阶1
var jsondata = {
person: {
"name": "aa",
"age": 66
},
address: {
"china": "beijng",
"americana": "niuyue"
}
}
console.log(jsondata);
console.log(jsondata['person']['name']);
console.log(jsondata['person'])//object
/*读取json数据时不能像数组那样从下标来读取,例:jsondata[0],这浏览器会报一个 undefined*/
如何遍历上面的json呢?可以用for in来遍历
for (var obj in jsondata) {
//如果你打印console.log(obj),打印出的是person,address
console.log(jsondata[obj]);
}
3.js数组中包含json数据
var data = [
{
"name": "小米",
"age": 100,
"categray": 1,
ndata: [
{
"nname": "校花",
"age": 12
},
{
"name": "h",
"age": 90
}
]
},
{
"name": "小明",
"age": 666,
"categray": 2
},
{
"name": "xh",
"age": 666,
"categray": 2
}
]
?如何遍历上面的数组呢。
注意上面的data数组中的第一条:
{
"name": "小米",
"age": 100,
"categray": 1,
ndata: [
{
"nname": "校花",
"age": 12
},
{
"name": "h",
"age": 90
}
]
}
同样我们可以用 for in 遍历
for (var i = 0; i < data.length; i++) {
for (var o in data[i]) {
console.log(data[i][o]);
}
}
console.log(data[i]);是可以打印出来的因为data是一个数组,只是数组里包含json格式的数据而已
4.json数组
jsondata={
date:["周一","周三","周三","周四","周五","周六"],
price:[20000, 40000, 61200, 10000, 100000, 120000]
}
console.log(jsondata['date']);
console.log(jsondata['price']);
这种格式的比较常用
总结:js的数据格式比较灵活,但不论是单纯的js数组还是json格式的都基于object类型,重点掌握object类型