JSON
来源:互联网 发布:手机网站自助建站源码 编辑:程序博客网 时间:2024/05/22 04:29
JSON简介
[plain] viewplaincopy
- JSON指的是JavaScript对象表示法(JavaScript
Object Notation) - JSON用来存储和交换文本信息
- JSON是纯文本的
- JSON具有自我描述性
- JSON具有层级结构
- JSON可通过JavaScript进行解析
- JSON数据可以使用AJAX进行传输
JSON语法
[plain] viewplaincopy
- JSON语法是JavaScript语法的子集
- JSON数据的书写格式是:名称/值对
- JSON值
-
数字(整数或浮点数) -
字符串(在双引号中) -
逻辑值(true 或 false) -
数组(在方括号中) -
对象(在花括号中) -
null - 数据由逗号分隔
- var
txt = '{"student":[{"name":"lwc","age":26},{"name":"nxj","age":24}]}'; -
创建一个单独成员student对象,此成员包含两个对象name,age的数组
两种JSON数组遍历的两种方法
[javascript] viewplaincopy
JSON文件
[plain] viewplaincopy
- JSON文件的文件类型是
.json - JSON文本的MIME类型是
application/json
JSON文本转换为JavaScript对象
[javascript] viewplaincopy
- name:
"name"> - age:
"age"> -
- 使用JavaScript函数eval_r()可用于将JSON文本转换为JavaScript对象
-
- 使用JSON解析器将JSON字符串转换为对象(IE8以下版本不支持JSON对象)
IE6,IE7下JSON.parse JSON未定义的解决方法
[javascript] viewplaincopy
- 方法一:
-
- 方法二:调用json2.js(推荐)
-
"text/javascript" src= "js/json2.js"> -
-
json2.js下载地址 http://download.csdn.net/detail/itlwc/5893971
eval_r() vs JSON.parse() vs JSON.stringify()
[javascript] viewplaincopy
- eval_r()
-
使用eval_r()讲JSON文本转换为对象,eval_r()是调用JavaScript编译器 -
由于JSON是JavaScript的子集,因此编译器正确的解析文本产生对象 -
eval_r()非常快速,他可以编译执行任何JavaScript,因此产生了安全性问题 -
当使用可信任,完善的JavaScript程序时才可以使用eval_r() -
使用XMLHttpRequest的web应用,页面之间通讯是同源的,因此是可信任的,但不完善 -
如果服务器没有严谨的JSON编码,或者没有严格的输入验证,那么可能传送包括危险脚本的无效JSON文本 -
eval_r()将执行恶意的脚本 - JSON.parse()
-
JSON.parse()解析器只能辨识JSON文本,拒绝所有脚本 -
提供了本地JSON支持的浏览器的JSON解析器将远快于eval函数 -
预计未来的ECMAScript标准将支持本地JSON - JSON.stringify()
-
JSON.stringify()进行反向操作,可以将JavaScript转换为JSON文本 -
JSON不支持循环数据,因此不要为JSON.stringify()提供循环数据 -
案例 -
阅读全文
0 0
- Json
- JSON
- JSON
- JSON
- json
- JSON
- JSON
- json
- Json
- json
- JSON
- json
- json
- JSON
- json
- JSON
- JSON
- json
- C++学习6 - 按值传递,按…
- C++学习7 - 按别名传递对象
- 初始商户信息导入(下载模板)
- js在IE和FF下的兼容性问题
- Javascript继承机制
- JSON
- JAVA-获取当前月份的第一天和最后…
- 树莓派基于wiringPi库, 编写JNI本地动态库供Java调用
- JAVA-获取一周中,周一和周日的日…
- JAVA-获取两个list中相同的数据
- JAVA-特殊SQL语句(查询库中所有表…
- 后台数据map转json传到前台
- HDU 2002
- GET请求写法