相思资源网 Design By www.200059.com
parse()方法的介绍:
在接收服务器数据时一般是字符串。
我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。
语法
JSON.parse(text[, reviver])
参数说明:
- text:必需, 一个有效的 JSON 字符串。
- reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
下面我们来看一个实例:
<p id="demo"></p> <script> var obj = JSON.parse('{ "name":jb51", "alexa":10000, "site":www.jb51.net }'); document.getElementById("demo").innerHTML = obj.name + ":" + obj.site; </script>
首先通过parse()方法将JSON数据转换为JavaScript对象,
解析完成后,我们就可以在网页上使用JSON数据了
从服务端接收 JSON 数据(数组JSON数据)
我们可以使用 AJAX 从服务器请求 JSON 数据,并解析为 JavaScript 对象。
eg: 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", "/try/ajax/json_demo.txt", true); xmlhttp.send();
json_demo.txt服务端数据需要自个编写。
JSON中有个异常解析数据
JSON 不能存储 Date 对象。如果你需要存储 Date 对象,需要将其转换为字符串。之后再将字符串转换为 Date 对象。
<p id="demo"></p> <script> //将字符串转换为data对象 var text = '{ "name":"csdn", "initDate":"2018-12-14", "site":www.jb51.net}'; var obj = JSON.parse(text); obj.initDate = new Date(obj.initDate); document.getElementById("demo").innerHTML = obj.name + "创建日期: " + obj.initDate; </script>
这时我们可以启用JSON的第二个参数:
<p id="demo"></p> <script> var text = '{ "name":"csdn", "initDate":"2018-12-14", "site":"www.jb51.net"}'; var obj = JSON.parse(text, function (key, value) { if (key == "initDate") { return new Date(value); } else { return value; }}); document.getElementById("demo").innerHTML = obj.name + "创建日期:" + obj.initDate;
解析函数:
JSON 不允许包含函数,但你可以将函数作为字符串存储,之后再将字符串转换为函数。
var text = '{ "name":"jb51", "alexa":"function () { return 10000;}", "site":"www.jb51.net"}'; var obj = JSON.parse(text); obj.alexa = eval("(" + obj.alexa + ")"); 注意:最好不要在json中使用函数 document.getElementById("demo").innerHTML = obj.name + " Alexa 排名:" + obj.alexa();
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
相思资源网 Design By www.200059.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
相思资源网 Design By www.200059.com
暂无JSON的parse()方法介绍的评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。