一、语法
1.JSON 的语法可以表示以下三种类型的值
①简单值:使用与JavaScript 相同的语法,可以在JSON 中表示字符串、数值、布尔值和null。但JSON 不支持JavaScript 中的特殊值undefined。
②对象:对象作为一种复杂数据类型,表示的是一组无序的键值对儿。而每个键值对儿中的值可以是简单值,也可以是复杂数据类型的值。
③数组:数组也是一种复杂数据类型,表示一组有序的值的列表,可以通过数值索引来访问其中的值。数组的值也可以是任意类型——简单值、对象或数组。
eg: {
// 简单值
"name" : "yang", // 字符串
"age" : 20, // 数字
"isBoy" : false,
"wife" : null,
// 对象
"sports" : {
"ball" : "pingpong",
"water" : "swimming"
},
// 数组
"fruits" : ["apple", "pear", "banana"]
}
二、解析与序列化
1.JSON对象
// 将对象转换为字符串
var json = JSON.stringify(person); // object ==> JSON
// alert(json);
var obj = JSON.parse(json); // JSON ==> object
// alert(obj); // [object Object]
2.序列化选项
①过滤结果
// 第一种:字符串形式
// JSON.stringify()的第二个参数是数组或函数,其中包含两个字符串,返回结果仅返回name和fruits属性
var json = JSON.stringify(person, ["name", "fruits"]); // object ==> JSON
alert(json); // {"name":"yang","fruits":["apple","pear","banana"]}
// 第二种:函数形式
var json = JSON.stringify(person, function (key, value) {
switch(key) {
case "name":
return "xiao yang"; // 将name的值修改
case "fruits":
return value.join("|"); // 将fruits的项用|连接
default:
return value;
}
});
alert(json);
②字符串缩进,JSON.stringify()方法的第三个参数用于控制结果中的缩进和空白符
// 用---连接
var json = JSON.stringify(person, ["name", "fruits"], "---"); // object ==> JSON
alert(json);
④toJSON:可以自定义返回的数据,其实是过滤器的一种补充。
var person = {
// 简单值
name : "zhang",
toJSON : function () {
return this.name;
}
}
var json = JSON.stringify(person); // object ==> JSON
alert(json); // "zhang"
⑤解析选项: JSON.parse()方法也接受两个参数
第一个为json字符串
第二个为还原函数,和json.stringifY的第二个参数过滤器相似
eg: var person = {
// 简单值
name : "zhang",
age : 20,
releaseDate: new Date(2011, 11, 1)
}
var jsonText = JSON.stringify(person);
var bookCopy = JSON.parse(jsonText, function(key, value){
if (key == "releaseDate"){
return new Date(value); // 将releaseDate的值转化为对象
} else {
return value;
}
});
alert(bookCopy.releaseDate.getMonth()); // 11
JSON语句
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- json.dumps是将一个Python数据类型列表进行json格式的编码解析,示例如下: 这样我们就将一个lis...
- SQL 分类: SQL 语句主要可以划分为以下 3 个类别。 DDL(Data Definition Langua...
- 在pom.xml文件中添加json-lib: 出现错误: Missing artifact net.sf.json...
- 一 if语句的分类: 1 if: 在Python中,if 语句就是用来进行判断的,格式如下: 2 if els...