> web前端 > JavaScript > 正文 JSON学习及解析 2014-01-03 来源:张江江 廊坊师范学院信息技术提高班 第九期 我要投稿 JSON认识
JSON:JavaScript对象表示法(JavaScript ObjectNotation)。是存储和交换文本信息的语法。类似 XML。这也是我们经常拿来和XML对比的原因。
在web中进行数据传输上相比XML,JSON有很大的优势,这得益于JSON是Javascript的原生格式,所谓原生格式就是使用时不需要引入任何组件和类库,就支持json格式,这么说是有原因的,在IE 5之前的js是不支持json格式的,为了使用json格式,必须引入一个json.js的文件,但以后新的版本的游览器都开始支持这一格式,所以对现在的的浏览器都不需要引入这个文件了,就是说json变成了js的原生格式了。
JSON语法
首先通过一个实例认识:
{ people: [ { Name: "A", Age:"23" }, { Name: "B", Age:"24" } ]} { people1: [ { Name: "C", Age:"23" }, { Name: "D", Age:"24" } ], people2: [ { Name: "E", Age:"23" }, { Name: "F", Age:"24" } ] }JSON语法是JavaScript对象表示法语法的子集。
其语法格式说明:
例如{ Name: "A",Age:"23" },与下面这条JavaScript 语句等价:
Name ="A"
Age ="23"
JSON使用作为数据交换格式,JSON和XML一样具有语言无关性的特点,可以在web中传递数据。在Web项目中,JSON传输数据的过程基本如下:
首先,浏览器通过JavaScript创建对象,并把对象转换成JSON字符串,以Ajax请求方式发送字符串到服务器。
然后,服务器端解析收到的JSON字符串,并创建一个类实例,执行相关业务逻辑,通过创建新的对象来存储要返回客户端的数据,即把这个对象转换成JSON字符串并返回到浏览器。
最后,浏览器通过JavaScript解析收到的JSON字符串,并将其转换为预定义的对象,之后使用该对象完成对页面元素的更新。
以上整个过程基本是JSON在进行数据传递的一个过程。
JSON对象转换成字符串 varobj1=obj.toJSONString(); //或者 varobj1=JSON.stringify(obj); alert(obj1);JS解析JSON
所谓解析JSON,就是从web 服务器上读取JSON 数据后,将 JSON 数据转换为JavaScript 对象,然后在网页中使用该数据。
以下通过简单的JSON字符串形式进行实例说明。
创建包含 JSON 语法的 JavaScript 字符串:
var txt = '{"people" : [' + '{"firstName":"Bill" , "lastName":"Gates"},' + '{"firstName":"George" ,"lastName":"Bush" },' + '{"firstName":"Thomas" ,"lastName":"Carter" } ]}';Javascript解析JSON,将JSON 文本转换为 JavaScript 对象有两种方式:
1、eval()函数
由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为JavaScript 对象。
格式如下:
var obj = eval("(" + txt + ")");2、使用json.js解析JSON
使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON文本,而不会编译脚本。
以上通过比较简单的分析和实例对JSON有了基本的认识,对以后的项目实践JSON使用中打下一个基础,肯定还需要不断的学习和实践,知识首先重在认识,其次理解,最后是应用,当然认识、理解和应用这些都是相辅相成的,生命不息,学习不止。
点击复制链接 与好友分享!回本站首页 上一篇:JavaScript将数据转换成整数的方法 下一篇:学习JQuery - 10 相关文章跨域请求之JSONP 一
跨域请求之JSONP 二
跨域请求之JSONP 三
JSON详细学习之JSON in JavaScript
AJAX跨域请求json数据
非常好用的JsonToString 方法
js读取JSON的方法
jquery ajax json跨域取得json格式的值
javascript打印输出json
对Jquery+JSON+WebService的一点认识
图文推荐