什么是JSON?
JSON是Javascript Object Notation(Javascript对象表示法)的缩写,是一种数据格式,而并非一种编程语言。
语法
JSON的语法可以表示以下三种类型的值:
1、简单值:使用与JavaScript相同的语法,可以再JSON中表示字符串、数值、布尔值和null,但JSON不支持JavaScript中的特殊值undefined。
如:
5、“Hello world”。
2、对象:对象作为一种复杂的数据类型,表示一组无序的键值对。而每个键值对重定值可以是简单值,也可以是复制数据类型的值。
如:
{
"name": "Tom",
"country": "China"
}
3、数组:数组也是一种复杂的数据类型,表示一组有序的值的列表,可以通过数值索引来访问其中的值。数组的值也可以是任意类型-简单值、对象或数组。
如:
[25,"hello",true]
JavaScript字符串与JSON字符串的最大区别?
JSON字符串必须使用双引号,单引号将导致语法错误。
JSON对象
早期的JSON解析器基本上使用Javascript的eval()函数,但是该函数对JSON数据求值存在风险,因为可能会执行一些恶意代码。
JSON对象有2个方法:stringify()和parse()。
stringify():用于将JavaScript对象序列化为JSON字符串;
parse():用于将JSON字符串解析为原生的JavaScript值。
示例:
var book={
"author":"jack",
"price":15
};
var jsonText = JSON.stringify(book);
alert(jsonText);
执行结果:
alert(JSON.parse(jsonText));
执行结果: