环球快资讯:一篇文章教会你 JavaScript json 解析
2023-06-21 23:14:03 来源:清一色财经
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 语言,效果图动展示,希望能够让读者更好的理解。
代码很简单,希望能够帮助你更好的学习。
关键词:
[责任编辑:]
相关阅读
- (2023-06-21)环球快资讯:一篇文章教会你 JavaScript json 解析
- (2023-06-21)夏至丨流光半夏 美好日长
- (2023-06-21)天天短讯!探源中华“龙文化”,《2023端午奇妙游》又见东方审美天花板
- (2023-06-21)综合市场治理:提升“文明范” 守护“烟火气”
- (2023-06-21)人社部:各地要组建速裁庭,优先受理农民工工资争议案_全球快播
- (2023-06-21)天天报道:南京鼓楼城管开展在建工程安全生产执法检查
- (2023-06-21)尖嘴狗是什么品种(博美犬为什么有尖嘴的和狐狸一样,有的是大脑袋方嘴像小猴子一样啊?_百...)
- (2023-06-21)麦趣尔控股股东所持部分股份被司法拍卖完成过户 全球热讯
- (2023-06-21)青海春天回复上交所监管问询函:不存在款、货流向不匹配的情况
- (2023-06-21)“凉山”凉山彝族火把节暨夏季清凉凉山游系列活动宁波文旅宣传推介周活动在宁波市开幕|每日热点
- (2023-06-21)房贷“降息”:央行下调5年期以上LPR至4.2%|简讯
- (2023-06-21)南京通报四起违规吃喝典型问题
- (2023-06-21)【全球速看料】英媒 2023自然指数年度榜单,中国第一美国第二
- (2023-06-21)全球快资讯:夏至前的田野
- (2023-06-21)冷水滩区:节前开展关爱女性健康巾帼志愿服务活动
- (2023-06-21)2023重庆璧山区招募“三支一扶”人员面试资格审查、面试等事宜通知
- (2023-06-21)新资讯:注意!广汽集团将于7月10日召开股东大会
- (2023-06-21)6月21日十大人气股:昆仑万维带崩“万物”(名单) 当前速看
- (2023-06-21)汇聚行业英才 纵览储能前沿 | EESA第二届中国国际储能展盛况预览|世界新要闻
- (2023-06-21)夏至前的田野
- (2023-06-21)用文字丈量世界 拼多多“为你读书”公益行动走进福建漳平-每日关注
- (2023-06-21)雷士照明618销量再登照明行业榜首 世界通讯
- (2023-06-21)环球微动态丨“粽”享端午 海口琼山区多彩活动邀你嗨玩琼台福地
- (2023-06-21)迎接端午,陆家嘴举行系列特色文化活动-新消息
- (2023-06-21)世界微动态丨为专精特新企业发展赋能增效,松江产业集群党委发挥关键引领作用
- (2023-06-21)新华社权威快报|债券注册制改革全面落地 世界观焦点
- (2023-06-21)全球快资讯:吃饭先喝汤还是吃完再喝?
- (2023-06-21)简讯:《秀我中国 | 新时代中国乡村志(第四集):千年梯田 十年新生》
- (2023-06-21)AI成“印钞机”!比尔·盖茨、黄仁勋等4人财富暴增10000亿!拜登最新发声_世界讯息
- (2023-06-21)天天热讯:500错误代码_5004错误怎么解决