码迷,mamicode.com
首页 > Web开发 > 详细

JSON

时间:2016-04-24 18:46:33      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:

JSON:JavaScript 对象表示法(JavaScript Object Notation)

JSON 语法规则

数据在 名称/值对 中

数据由逗号分隔

花括号保存对象

方括号保存数组

 

字符串:使用“”双引号或’’单引号包括的字符。例如:

var comStr = ‘this is string‘;

 

json字符串:指的是符合json格式要求的js字符串。例如:

var jsonStr = "{StudentID:‘100‘,Name:‘tmac‘,Hometown:‘usa‘}";

json对象:指符合json格式要求的js对象。例如:

var jsonObj = { StudentID: "100", Name: "tmac", Hometown: "usa" };

在JSON中,有两种结构:对象和数组

JSON 对象

JSON 对象在花括号中书写:

{ "firstName":"John" , "lastName":"Doe" }

JSON 数组

JSON 数组在方括号中书写,数组可以包含多个对象。

{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}

访问和修改

employees[0].lastName;  //访问
employees[0].lastName = "Jobs";  //修改
employees[0].address = "xxx";  // 增加;  或者employees["address"]="xxx"
delete employees[0].lastName; //删除JSON中的数据

//遍历json
for(var i=0;i<json.length;i++){
    for(var key in json[i]){
    alert(key+‘:‘+json[i][key]);
    }
}

  

在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。

JSON字符串转换为JSON对象

JavaScript 函数 eval() 可用于将 JSON 文本转换为 JSON 对象。eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JSON 对象。必须把文本包围在括号中,这样才能避免语法错误;eval() 函数可编译并执行任何 JavaScript 代码。这隐藏了一个潜在的安全问题。

var obj = eval ("(" + txt + ")");

特别注意:如果obj本来就是一个JSON对象,那么使用eval() 函数转换后(哪怕是多次转换)还是JSON对象,但是使用JSON.parse() 函数处理后会有问题(抛出语法异常)

JSON 解析器  JSON.parse()

JSON 解析器只能识别 JSON 文本,而不会编译脚本。

obj = JSON.parse(txt);

将JSON对象转化为JSON字符串

var last=JSON.stringify(obj);   //将JSON对象转化为JSON字符串

在线解析及格式化验证

http://json.cn/

JSON

标签:

原文地址:http://www.cnblogs.com/webcome/p/5427560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!