JavaScript中的JSON
JavaScript与JSON
JSON是一种语法,用来序列化对象、数组、数值、字符串、布尔值和null。它基于JavaScript语法,但与之不同:JavaScript不是JSON,JSON也不是JavaScripto
JavaScript类型 | JSON的不同点 |
---|---|
对象和数组 | 属性名称必须是双引号括起来的字符串;最后一个属性后不能有逗号 |
数值 | 禁止出现前导零 |
字符串 | 只有有限的一些字符可能被转义 |
JSON字符串与JSON对象
-
JSON字符串就是指在JavaScript语言中内容格式符合JSON格式的字符串类型的数据。
var jsonText = '{"name":"卧龙学苑" "addr":"保定市复兴中路77号直隶大厦1516室"}';
-
JSON对象就是指JSON格式在JavaScript语言中的具体表现形式为对象或数组。
var jsonObject= { "name":"卧龙学苑", "addr":"保定市复兴中路77号直隶大厦1516室" }
代码演示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>JavaScript中的JSON</title>
</head>
<body>
<script>
// JSON字符串 - 数据格式符合JSON格式的要求,类型是字符串类型
var jsonString = '{"name" : "张无忌"}';
// JSON对象 - JSON数据格式在JavaScript中的具体表现(对象和数组)
var jsonObject = {
name: "张无忌",
};
var jsonArr = [1, 2, 3, 4];
</script>
</body>
</html>
JavaScript的JSON对象
JavaScript语言中存在UJSON对象,该对象用于实现字符串与对象之间的转换。其提供以下两个方法:
-
JSON.parse()方法:解析JSON字符串并返回对应的值。
JSON.parse('');//0} JSON.parse('true');// true JSON.parse(""foo"");// "foo" JSON.parse('[1,5, "false"]');//[1,5, "false"] JSON.parse('null'); // null
-
JSON.stringify()方法:返回与指定值对应的JSON字符串。
JSON.stringify({});// '{}' JSON.stringify(true);// 'true' JSON.stringify("foo");// "foo" JSON.stringify([1, "false", false]);//'[1,"false",false]' JSON.stringify({ x: 5 });// '{"x":5}'
注意:JSON对象在旧版本的浏览器中不被支持,引人json2.js文件进行解决。
-
JSON字符串转化为JSON对象(JSON.parse())
// JSON字符串 var jsonString = '{"name" : "张无忌"}'; var jsonObject = JSON.parse(jsonString); console.log(jsonObject);
-
JSON对象转化为JSON字符串
var jsonObject = { name: "张无忌" }; var jsonString = JSON.stringify(jsonObject); console.log(jsonString); console.log(typeof jsonString);