JSON

来源:互联网 发布:手机网站自助建站源码 编辑:程序博客网 时间:2024/05/22 04:29

JSON简介

 

[plain] viewplaincopy在CODE上查看代码片派生到我的代码片
  1. JSON指的是JavaScript对象表示法(JavaScript Object Notation)  
  2. JSON用来存储和交换文本信息  
  3. JSON是纯文本的  
  4. JSON具有自我描述性  
  5. JSON具有层级结构  
  6. JSON可通过JavaScript进行解析  
  7. JSON数据可以使用AJAX进行传输  

JSON语法

 

 

[plain] viewplaincopy在CODE上查看代码片派生到我的代码片
  1. JSON语法是JavaScript语法的子集  
  2. JSON数据的书写格式是:名称/值对  
  3. JSON值  
  4.     数字(整数或浮点数)  
  5.     字符串(在双引号中)  
  6.     逻辑值(true 或 false)  
  7.     数组(在方括号中)  
  8.     对象(在花括号中)  
  9.     null  
  10. 数据由逗号分隔  
  11. var txt '{"student":[{"name":"lwc","age":26},{"name":"nxj","age":24}]}';  
  12.     创建一个单独成员student对象,此成员包含两个对象name,age的数组  

两种JSON数组遍历的两种方法

 

 

[javascript] viewplaincopy在CODE上查看代码片派生到我的代码片
  1.   

JSON文件

 

 

[plain] viewplaincopy在CODE上查看代码片派生到我的代码片
  1. JSON文件的文件类型是 .json  
  2. JSON文本的MIME类型是 application/json  

JSON文本转换为JavaScript对象

 

 

[javascript] viewplaincopy在CODE上查看代码片派生到我的代码片
  1. name: "name">  
  2. age: "age">  
  3.   
  4. 使用JavaScript函数eval_r()可用于将JSON文本转换为JavaScript对象  
  5.   
  6. 使用JSON解析器将JSON字符串转换为对象(IE8以下版本不支持JSON对象)  

IE6,IE7下JSON.parse JSON未定义的解决方法

 

 

[javascript] viewplaincopy在CODE上查看代码片派生到我的代码片
  1. 方法一:  
  2.     
  3. 方法二:调用json2.js(推荐)  
  4.     "text/javascript" src="js/json2.js">  
  5.     
  6.     json2.js下载地址 http://download.csdn.net/detail/itlwc/5893971  

eval_r() vs JSON.parse() vs JSON.stringify()

 

 

[javascript] viewplaincopy在CODE上查看代码片派生到我的代码片
  1. eval_r()  
  2.     使用eval_r()讲JSON文本转换为对象,eval_r()是调用JavaScript编译器  
  3.     由于JSON是JavaScript的子集,因此编译器正确的解析文本产生对象  
  4.     eval_r()非常快速,他可以编译执行任何JavaScript,因此产生了安全性问题  
  5.     当使用可信任,完善的JavaScript程序时才可以使用eval_r()  
  6.     使用XMLHttpRequest的web应用,页面之间通讯是同源的,因此是可信任的,但不完善  
  7.     如果服务器没有严谨的JSON编码,或者没有严格的输入验证,那么可能传送包括危险脚本的无效JSON文本  
  8.     eval_r()将执行恶意的脚本  
  9. JSON.parse()  
  10.     JSON.parse()解析器只能辨识JSON文本,拒绝所有脚本  
  11.     提供了本地JSON支持的浏览器的JSON解析器将远快于eval函数  
  12.     预计未来的ECMAScript标准将支持本地JSON  
  13. JSON.stringify()  
  14.     JSON.stringify()进行反向操作,可以将JavaScript转换为JSON文本  
  15.     JSON不支持循环数据,因此不要为JSON.stringify()提供循环数据  
  16.     案例  
  17.