文章目录
后台给前端返回的数据格式 : 数组型+对象
解析json 进行数据绑定
JSON 是用于存储和传输数据的格式,
JSON 通常用于服务端向网页传递数据
一、格式
1.单条json —— key:value
var list={"name":"张三","age":20};
console.log(list);
console.log(list.name); //张三
2.集合型json
var arr=[
{"name":"b1"},
{"name":"b2"},
{"name":"b3"},
{"name":"b4"}
];
console.log(arr[0].name); //b1
在以上实例中,对象 “arr” 是一个数组,包含了三个对象。
二、类型转换
后端返回的数据一般为 json对象
或 string 类型
(json的字符串类型)
var str='[{"name":"b1"},{"name":"b2"},{"name":"b3"},{"name":"b4"}]';
console.log(str);
json格式转化【JSON字符串型转对象】:
var arr=JSON.parse(str);
console.log(arr);
【对象型转JSON字符串】:
onsole.log(JSON.stringify(arr));
举例
1.JSON.parse() [JSON 字符串—> JavaScript 对象]
var text = '{ "sites" : [' +
'{ "name":"Runoob" , "url":"www.runoob.com" },' +
'{ "name":"Google" , "url":"www.google.com" },' +
'{ "name":"Taobao" , "url":"www.taobao.com" } ]}';
var obj = JSON.parse(text);
console.log(obj);
document.getElementById("demo").innerHTML = obj.sites[1].name + " " + obj.sites[2].url;
2.JSON.stringify() [ JavaScript 对象—> JSON 字符串]
var str = {"name":"百度", "site":"https://www.baidu.com"}
var str_pretty1 = JSON.stringify(str);
var str_pretty2 = JSON.stringify(str, null, 4);
console.log(str_pretty2);
JSON.stringify(value[, replacer[, space]])
参数说明:1.value: 必需, 要转换的 JavaScript 值(通常为对象或数组)。
2.replacer: 可选。用于转换结果的函数或数组。
3.space: 可选,文本添加缩进、空格和换行符,如果 space 是一个数字,则返回值文本在每个级别缩进指定数目的空格
三、模拟数据
var city=[
{
name:"陕西省",
s2:[
{
name:"西安市",
s3:[
{
name:"雁塔区"
},
{
name:"未央区"
}
]
},
{
name:"宝鸡市",
s3:[
{
name:"陈仓区"
},
{
name:"高新区"
}
]
}
]
}
];
百度常用搜索API:
http://www.baidu.com/s?wd=关键字
或:
http://www.baidu.com/s?wd=关键字&cl=3
cl(class):搜索类型
cl=3:网页搜索 cl=2:图片搜索