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 相关文章推荐
extjs 学习笔记(三) 最基本的grid
Oct 15 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
Dec 22 Javascript
jQuery实现的网页竖向菜单效果代码
Aug 26 Javascript
jQuery实现瀑布流布局详解(PC和移动端)
Sep 01 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
Jan 12 Javascript
Javascript同时声明一连串(多个)变量的方法
Jan 23 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
May 25 jQuery
Javascript中Promise的四种常用方法总结
Jul 14 Javascript
微信小程序云开发实现数据添加、查询和分页
May 17 Javascript
JavaScript中的各种宽高属性的实现
May 08 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
Jul 22 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
Nov 06 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
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
2019/12/04 PHP
JS window.opener返回父页面的应用
2009/10/24 Javascript
上传图片js判断图片尺寸和格式兼容IE
2014/09/01 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
2017/05/24 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
vue利用better-scroll实现轮播图与页面滚动详解
2017/10/20 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
关于微信小程序bug记录与解决方法
2018/08/15 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
M2实现Nodejs项目自动部署的方法步骤
2019/05/05 NodeJs
Vue自定义全局弹窗组件操作
2020/08/11 Javascript
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
详解Python中使用base64模块来处理base64编码的方法
2016/07/01 Python
python使用生成器实现可迭代对象
2018/03/20 Python
详解PyTorch批训练及优化器比较
2018/04/28 Python
Random 在 Python 中的使用方法
2018/08/09 Python
Python可变参数会自动填充前面的默认同名参数实例
2019/11/18 Python
Python利用PyPDF2库获取PDF文件总页码实例
2020/04/03 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
房地产员工找工作的自我评价
2013/11/15 职场文书
播音主持女孩的自我评价分享
2013/11/20 职场文书
小班秋游活动方案
2014/02/22 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
环保志愿者活动方案
2014/08/14 职场文书
员工离职感谢信
2015/01/22 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL