JSON简介:
JSON: JavaScript Object Notation(JavaScript 对象表示法)
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。
一个简单的JSON实例:
{ "student": [ { "name":"张三" , "sex":"男" }, { "name":"李四" , "sex":"男" }, { "name":"王二麻子" , "sex":"女" } ] }
JSON语法
JSON 语法是 JavaScript 对象表示法语法的子集。
- 数据在名称/值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
JSON 值可以是:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
JSON 对象在花括号中书写,对象可以包含多个名称/值对:
一个例子:
{"name":"张三"}
可以同过以下两种方法获取对象的值:
var student,x; student={"name":"张三","sex":"M"} x=student["name"];//通过([""]) x=student.sex;//通过(.)
JSON 数组在方括号中书写,数组可包含多个对象:
一个例子:
{
"student": [
{ "name":"张三" , "sex":"男" },
{ "name":"王二麻子" , "sex":"女" }
]
}
//student是包含两个对象的数组。
JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。通过 JavaScript,可以创建一个对象数组,并像这样进行赋值:
var student= [ { "name":"张三" , "sex":"男" }, { "name":"李四" , "sex":"男" }, { "name":"王二麻子" , "sex":"女" } ]
访问数组的元素可以用下面方法:
student[0].name;//返回张三 student[1].sex="女";//修改数据
JSON.parse()
JSON 通常用于与服务端交换数据。
在接收服务器数据时一般是字符串。
我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。
JSON.parse()有两个参数,第一个是必须的有效的JSON字符串,第二个是可选的函数,会为每个对象成员调用这个函数。
例如:
var obj=JSON.parse('{"name":"李四","sex":"男"}')//这里注意传入的是字符串
JSON.stringify()
JSON 通常用于与服务端交换数据。
在向服务器发送数据时一般是字符串。
我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。
同样,JSON.stringify()有三个参数,第一个必须的有效的JSON对象,第二个可选的用于转换结果的函数或者数组,第三个可选的文本添加缩进、空格和换行符,而如果是一个数字的话,则返回值文本在每个级别缩进指定数目的空格。如果 space 大于 10,则文本缩进10个空格。
var student={"name":"张三","sex":"男"}; var str=JSON.stringify(student); document.getElementById("01").innerHTML=str;
eval() 函数
eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误。
var student='{"name","张三","sex":"M"}' var obj = eval ("(" + student + ")");