* 简单值 "hello json"
* 对象 {"name":"jack"}
* 数组 [{"aaa":"bbb"},{"ccc":"ddd"}]
JSON常用的两个方法:
1.stringify()
2.parse()
*stringify用法:
用法一: 把javascript对象转化成JSON格式:
1
2
3
4
5
6
|
var
demo = {
"name"
:
"aaa"
,
"type"
:
"bbb"
}
var
jsonDemo = JSON.stringify(demo);
console.log(jsonDemo);
|
得到结果:
1
|
{
"name"
:
"aaa"
,
"type"
:
"bbb"
}
|
用法二:把javascript对象转化成JSON格式,增加过滤,只留想要的数据
var demo = {
"name":"aaa",
"sex":"boy",
"age": 20
}
var jsonDemo = JSON.stringify(demo,["name"]);
console.log(jsonDemo);
得到结果:
{"name":"aaa"}
用法三:把javascript对象转化成JSON格式,并改变原有的值
"name":"aaa", "sex":"bbb", "type":"ccc" } var jsonDemo = JSON.stringify(demo,function (key, value) { switch(key){ case "name": return "a"; case "sex": return "b"; default: return value; } }); console.log(jsonDemo);
得到结果:
{"name":"a","sex":"b","type":"ccc"}
用法四:把javascript对象转化成JSON格式,并控制缩进和空白符
"title": "aaa", "type": "bbb", "page": 50 } var jsonBook = JSON.stringify(book,null,"$$"); console.log(jsonBook);
得到结果:
{ $$"title": "aaa", $$"type": "bbb", $$"page": 50 }
该方法第三个参数如果为数字,那么就是每个属性前面缩进的字符数。
*parse()方法
用法一:把JSON转化成javascript格式, 用来解析JSON字符串,构造由字符串描述的JavaScript值或对象。
var book = '{"title":"aaa", "type":"bbb", "page":"50"}'; var demo = JSON.parse(book); console.log(demo);
得到结果:
demo.html:11 {title: "aaa", type: "bbb", page: "50"}
用法二:把JSON转化为javascript过程中,改变原有的值
var demo = JSON.stringify(book); var javascriptDemo = JSON.parse(demo, function (key, value) { switch (key) { case "title": return "bbbbbb"; default: return value; } }); console.log(javascriptDemo);
得到结果:
{"title":"aaa", "type":"bbb", "page":50}
以上是今天介绍的JSON语法和方法