JSON
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。
JSON 语法 (键/值)
"name" : "example"
每个 属性 名都必须用 双引号 ,否则会抛出异常
JSON值 可以是
数字
字符串
布尔值
数组
对象
null
例如:
{'name' : 'test', 'age' : '19', 'email' : '123@163.com'}
或者
{'authors' : [
{'name' : 'test'},
{'name' : 'example'}
]}
安全性
一般会使用eval()作为读取数据的方式,然后由于eval()方法同样可移植性任意的JavaScript代码,因此当数据来源不可靠时则可能产生安全性问题。如下面列子,直接用eval()执行时会跳转。
{ "msg" : (function () {
window.Location = 'http://www.example.com'
})()}
一般防止不安全代码出现的解决方法,通过原生支持的JSON.parse()读取,目前得到大部分浏览器的支持(ie8+, 标准浏览器);
JSON.parse();
用于从一个JSON字符串中解析出json对象
目前得到大部分浏览器的支持(ie8+, 标准浏览器);ie6 ie7 用eval()
jQuery 用 $.parseJSON();
var str = '{"name" : "test", "age" : "19"}'
JSON.stringfy()
用于把把一个对象转为字符串