一篇文章教会你 JavaScript json 解析|信息
JSON的一个常见用途是交换数据到从一个Web服务器,当从web服务器接收数据时,数据总是一个字符串。使用JSON.parse()方法解析这些数据,数据变成JavaScript对象。
JSON的一个常见用途是交换数据到从一个Web服务器,当从web服务器接收数据时,数据总是一个字符串。使用JSON.parse()方法解析这些数据,数据变成JavaScript对象。
【资料图】
一、浏览器支持
JSON.parse() 函数包括所有主要的浏览器和最新的ECMAScript(JavaScript)标准:
浏览器支持 |
Firefox 3.5 ,Internet Explorer 8 ,Chrome, Opera 10 ,Safari 4 |
二、实例 – 解析JSON
1. 页面解析
想象一下,我们从Web服务器收到这个文本:
"{ "name":"John", "age":30, "city":"New York"}"
使用JavaScript函数JSON.parse() 将文本转换成JavaScript对象:
var obj = JSON.parse("{ "name":"John", "age":30, "city":"New York"}");
注:确保文字是用JSON格式,否则你会得到一个语法错误。
在你的页面中使用JavaScript对象:
项目 JSON解析文本
<script> var obj = JSON.parse("{ "name":"John", "age":30, "city":"New York"}"); document.getElementById("demo").innerHTML = obj.name + ", " + obj.age;</script>
2. 从服务器获得JSON
你可以使用AJAX请求从服务器获得JSON。
只要来自服务器的响应是用JSON格式,您可以将字符串解析成JavaScript对象。
Ajax是什么?
Asynchronous JavaScript & XML。Ajax是web开发的一种技术。
var xmlhttp = new XMLHttpRequest();xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myObj = JSON.parse(this.responseText); document.getElementById("demo").innerHTML = myObj.name; }};xmlhttp.open("GET", "json_demo.txt", true);xmlhttp.send();
服务器端 访问成功!将JSON解析的内容保存在json_demo.txt。
3. 数组作为JSON
当使用JSON.parse()方法的使用, 该方法将返回一个JavaScript数组, 而不是一个JavaScript对象.
var xmlhttp = new XMLHttpRequest();xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myArr = JSON.parse(this.responseText); document.getElementById("demo").innerHTML = myArr[0]; }};xmlhttp.open("GET", "json_demo_array.txt", true);xmlhttp.send();
为了方便测速,自己创建了json_demo_array.txt文件。
json_demjo_array.txt
三、拓展
解析日期(2种)
在JSON中,日期对象是不允许的。
如果需要包含日期,请将其写成字符串.
1. 将其转换为日期对象:
var text = "{ "name":"John", "birth":"1986-12-14", "city":"New York"}";var obj = JSON.parse(text) {obj.birth = new Date(obj.birth);document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;
2.使用JSON.parse()函数的第二个参数, 称为接收器
该接收机参数,返回值之前,检查每个属性。
var text = "{ "name":"John", "birth":"1986-12-14", "city":"New York"}";var obj = JSON.parse(text, function (key, value) { if (key == "birth") { return new Date(value); } else { return value; }});document.getElementById("demo").innerHTML = obj.name + ", " + obj.birth;
解析函数
在JSON中不允许函数。
如果你需要包含一个函数,写成字符串。
以后您可以将其转换为函数:
var text = "{ "name":"John", "age":"function () {return 30;}", "city":"New York"}";var obj = JSON.parse(text) {obj.age = eval("(" + obj.age + ")");document.getElementById("demo").innerHTML = obj.name + ", " + obj.age();
避免在JSON使用函数,函数将失去他们的范围,你将不得不使用eval()将它们转换回函数。
四、总结
本文基于JavaScript ,介绍了 json 解析在实际的应用。如何去解析一个JSON文件,从三个方面进行了讲解。在实际过程中遇到的难点,提供了有效的解决方案。最后拓展,希望对JSON解析有了进一步的了解,使用JavaScript 语言,效果图动展示,希望能够让读者更好的理解。
代码很简单,希望能够帮助你更好的学习。
相关阅读
精彩推荐
- 一篇文章教会你 JavaScript json 解析|信息
- 快播:总投资213亿元!宜昌38个交通基础设施重点项目集中开工
- 南京聚隆接受多家机构调研 将加快产品迭代全面提升竞争力
- 港股核电板块异动拉升_世界报资讯
- 今日看点:叛逆的鲁鲁修结局bgm_叛逆的鲁鲁修结局
- 宁德时代电池有重大缺陷,已被特斯拉暂停供货?宁德时代:消息不属实|世界百事通
- 天津发布脑卒中气象风险橙色预警!医生提醒 全球资讯
- 全球快资讯丨山东省中小施工企业法律公益支持行动启动
- 宋国兴-当前热门
- 如何恢复回收站删除的文件视频和图片(如何恢复回收站删除的文件)
- 天天热门:苹果手机和电脑连接的软件叫什么_苹果手机与电脑连接需要什么软件
- 天天快资讯:应用电子技术学什么课程及毕业薪酬岗位去向 就业前景怎么样
- 今日快讯:电脑所有软件都打不开解决方法_电脑所有软件都打不开
- 沈阳市和平区推出百项文商旅活动
- 焦点快报!惠存号码图片_惠存号码
- 巴西反战人士:美西方向乌提供更多武器只会使冲突延长 世界微速讯
- 【天天播资讯】微信微分付怎么开通额度(微信分付额度开通条件)
- 【天天新要闻】停息挂账可以协商还吗?停息挂账是硬性规定吗?
- 当前热讯:顺络电子:6月20日融资买入1010.32万元,融资融券余额9.41亿元
- 日本核污染水将排海 韩国紧急检测海水放射性
- 斯波怎么看?莱利调侃:下赛季我得打上领带穿好西装来执教了 天天快资讯
- 今年618我没有花钱,反倒赚了1000块
- 手机兼职一单一结算_手机兼职一单一结-今日快看
- 一家三代的接续传承:让豫台教育交流之路更多彩
- 陕西一干部坠亡,所在单位称不是跳楼,上个月还出面讲话
- 不知炒股禁令?7名员工炒股 券商被罚!负责人近300次违规交易|当前聚焦
- 世界热门:深圳铁塔首批4692座5G基站储能系统接入虚拟电厂管理中心
- 全球快讯:新华时评:拒绝过度包装,让粽子回归“原味”
- 天天新消息丨秋分后面的第一个节气是什么时候
- 【聚看点】北京调整公立医院医疗服务价格 未列明的费用不能收取