JSON
2016-04-12 11:03
615 查看
一、JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换格式,但是在JS(JavaScript的简写)中处理XML非常不方便,同时XML标记比数据多,增加了交换产生的流量,而JSON没有附加的任何标记,在JS中可作为对象处理,所以我们更倾向于选择JSON来交换数据。
二、JSON有两种表示结构,对象和数组。
1、eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
2、使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。
四、在javascript中使用JSON
<html> <body> <h2>在 JavaScript 中创建 JSON 对象</h2> <p> Name: <span id="jname"></span><br /> Age: <span id="jage"></span><br /> Address: <span id="jstreet"></span><br /> Phone: <span id="jphone"></span><br /> </p> <script type="text/javascript"> var JSONObject= { "name":"Bill Gates", "street":"Fifth Avenue New York 666", "age":56, "phone":"555 1234567"}; document.getElementById("jname").innerHTML=JSONObject.name document.getElementById("jage").innerHTML=JSONObject.age document.getElementById("jstreet").innerHTML=JSONObject.street document.getElementById("jphone").innerHTML=JSONObject.phone </script> </body> </html>
二、JSON有两种表示结构,对象和数组。
{ key1:value1, key2:value2, ... }
[ { key1:value1, key2:value2 }, { key3:value3, key4:value4 } ]三、JSON转换成Javascript对象
1、eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:
var txt = '{ "employees" : [' + '{ "firstName":"Bill" , "lastName":"Gates" },' + '{ "firstName":"George" , "lastName":"Bush" },' + '{ "firstName":"Thomas" , "lastName":"Carter" } ]}'; var obj = eval ("(" + txt + ")");
2、使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。
obj = JSON.parse(txt);在网页中使用javascript对象:
document.getElementById("fname").innerHTML=obj.employees[1].firstName document.getElementById("lname").innerHTML=obj.employees[1].lastName
四、在javascript中使用JSON
var obj = { count: 3, person: [ //数组结构JSON对象,可以嵌套使用 { id: 1, name: "张三" }, { id: 2, name: "李四" } ], object: { //对象结构JSON对象 id: 1, msg: "对象里的对象" } };删除:
function Delete() { delete obj.count; }遍历JSON对象:
function Traversal() { for (var c in obj) { console.log(c + ":", obj[c]); } }
相关文章推荐
- agent_web--common.jsp
- JayRock:JSON and JSON_RPC for .Net
- 笔记练习:《Javascript入门经典(第5版)》page185_15.10_Practice
- javascript设计模式--简单工厂模式
- Js Map 和 List的简单实现
- JS数组
- 【Javascript】js图形编辑器库介绍
- js实现右键菜单的一个实例
- Js中的4个事件
- JavaScript
- JSONP - 跨域AJAX
- jsonkit
- js定时器
- QQ空间相册点赞自动JS
- JSONP跨域的原理解析及其实现介绍
- javascript——js string 转 int 注意的问题——parseInt
- JavaScript语言精粹之数组篇
- js实现页面定时跳转
- ExtJS专题-FormPanel(1) .
- LoganSquare的简单使用——快到爆炸地解析和序列化JSON