JSON的parse()方法介绍


Posted in Javascript onJanuary 31, 2019

parse()方法的介绍:

在接收服务器数据时一般是字符串。

我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。

语法

JSON.parse(text[, reviver])

参数说明:

  • text:必需, 一个有效的 JSON 字符串。
  • reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。

下面我们来看一个实例:

<p id="demo"></p>
<script>
var obj = JSON.parse('{ "name":3water", "alexa":10000, "site":3water.com }');
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":3water.com}';
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":"3water.com"}';
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":"3water", "alexa":"function () {
return 10000;}",
"site":"3water.com"}';
var obj = JSON.parse(text);
obj.alexa = eval("(" + obj.alexa + ")");      注意:最好不要在json中使用函数
document.getElementById("demo").innerHTML = obj.name + " Alexa 排名:" + obj.alexa();

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Javascript 相关文章推荐
Javascript创建自定义对象 创建Object实例添加属性和方法
Jun 04 Javascript
js调用iframe实现打印页面内容的方法
Mar 04 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
Aug 07 Javascript
JavaScript reduce和reduceRight详解
Oct 24 Javascript
WEB 前端开发中防治重复提交的实现方法
Oct 26 Javascript
JS刷新父窗口的几种方式小结(推荐)
Nov 09 Javascript
浅谈Angular的$q, defer, promise
Dec 20 Javascript
详解ECMAScript6入门--Class对象
Apr 27 Javascript
浅谈react+es6+webpack的基础配置
Aug 09 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
Sep 29 Javascript
vue实现点击隐藏与显示实例分享
Feb 13 Javascript
原生javascript运动函数的封装示例【匀速、抛物线、多属性的运动等】
Feb 23 Javascript
JSON.stringify()方法讲解
Jan 31 #Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
Jan 31 #Javascript
vue中的mvvm模式讲解
Jan 31 #Javascript
Vue和React组件之间的传值方式详解
Jan 31 #Javascript
使用Angular Cli如何创建Angular私有库详解
Jan 30 #Javascript
async/await优雅的错误处理方法总结
Jan 30 #Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
Jan 30 #Javascript
You might like
利用PHP和AJAX创建RSS聚合器的代码
2007/03/13 PHP
认识并使用PHP超级全局变量
2010/01/26 PHP
PHP下常用正则表达式整理
2010/10/26 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
PHP中Session和Cookie是如何操作的
2015/10/10 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
php的单例模式及应用场景详解
2021/02/27 PHP
常用js脚本
2006/12/03 Javascript
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
在jQuery中 常用的选择器介绍
2013/04/16 Javascript
Blocksit插件实现瀑布流数据无限( 异步)加载
2014/06/20 Javascript
JavaScript学习笔记之JS函数
2015/01/22 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
AngularJS中的指令全面解析(必看)
2016/05/20 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
2017/01/20 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
浅谈Python爬取网页的编码处理
2016/11/04 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
python中bytes和str类型的区别
2019/10/21 Python
基于keras输出中间层结果的2种实现方式
2020/01/24 Python
法国面料和小百货在线商店:Mondial Tissus
2019/03/23 全球购物
农村婚礼证婚词
2014/01/08 职场文书
优秀班干部事迹材料
2014/01/26 职场文书
校长先进事迹材料
2014/02/01 职场文书
办公室员工岗位工作职责
2014/03/10 职场文书
中学教师师德承诺书
2014/05/23 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python
Python绘制散乱的点构成的图的方法
2022/04/21 Python
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL
Linux中文件的基本属性介绍
2022/06/01 Servers