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系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
Jan 15 Javascript
基于jQuery的input输入框下拉提示层(自动邮箱后缀名)
Jun 14 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
Jan 24 Javascript
用javascript读取xml文件读取节点数据
Aug 12 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
Dec 18 Javascript
js实现搜索框关键字智能匹配代码
Mar 26 Javascript
Javascript技术栈中的四种依赖注入小结
Feb 27 Javascript
jquery实现图片平滑滚动详解
Mar 22 jQuery
详解vuejs之v-for列表渲染
Jun 22 Javascript
基于Cookie常用操作以及属性介绍
Sep 07 Javascript
webpack4 配置 ssr 环境遇到“document is not defined”
Oct 24 Javascript
vue不操作dom实现图片轮播的示例代码
Dec 18 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
Apache下禁止php文件被直接访问的解决方案
2013/04/25 PHP
PHP curl实现抓取302跳转后页面的示例
2014/07/04 PHP
PHP模拟asp中response类实现方法
2015/08/08 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
深入理解javascript的执行顺序
2014/04/04 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
2017/08/21 Javascript
nodejs acl的用户权限管理详解
2018/03/14 NodeJs
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
vue init webpack 建vue项目报错的解决方法
2018/09/29 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
使用Python生成XML的方法实例
2017/03/21 Python
Python中eval带来的潜在风险代码分析
2017/12/11 Python
Python pymongo模块用法示例
2018/03/31 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
Python WEB应用部署的实现方法
2019/01/02 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
Python递归函数特点及原理解析
2020/03/04 Python
Eclipse配置python默认头过程图解
2020/04/26 Python
详解Anaconda 的安装教程
2020/09/23 Python
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
品质主管的岗位职责
2013/12/04 职场文书
社团招新策划书
2014/02/04 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
酒店爱岗敬业演讲稿
2014/09/02 职场文书
寒山寺导游词
2015/02/03 职场文书
应届毕业生自荐信
2015/03/04 职场文书
停水通知
2015/04/16 职场文书
老干部座谈会主持词
2015/07/03 职场文书
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers