JS对象与json字符串相互转换实现方法示例


Posted in Javascript onJune 14, 2018

本文实例讲述了JS对象与json字符串相互转换实现方法。分享给大家供大家参考,具体如下:

今天在面试的时候,面试官问到js对象与json字符串的互转问题,由于自己平时在用的时候没有在意,而且在工作中由于用的较少,没有答上来,所以今天特地查查资料复习一下, 巩固一下这方面的知识。

1、js对象转换成json字符串

在与后端进行交互时,有时需要把js对象转换成json字符串格式,这时我们需要去引用一下json2.js这个文件,然后调用JSON.stringify()方法。例如:

var data = new Object();
var jsonData = JSON.stringify(data);

2、json字符串转换成js对象

在工作中在ajax获取后端数据时,获取到的是json格式,有时就需要我们转换成js对象格式。在这里我们使用jQuery的一个$.parseJSON()方法将JSON格式的数据转换成js对象格式。例如:

var jsonData = $.getJSON();
var data = $.parseJSON(jsonData);

当然,还可以使用JSON.parse()方法,方法同上,但是有的浏览器对JSON.parse()的支持不是很理想,所以在使用时尽量使用.parseJSON()方法。.parseJSON()方法在浏览器支持时会返回执行JSON.parse()方法的结果,否则会返回类似执行eval()方法的结果,具体参考jQuery1.9.1得出:

parseJSON: function( data ) {
 // Attempt to parse using the native JSON parser first
 if ( window.JSON && window.JSON.parse ) {
  return window.JSON.parse( data );
 }
 if ( data === null ) {
  return data;
 }
 if ( typeof data === "string" ) {
  // Make sure leading/trailing whitespace is removed (IE can't handle it)
  data = jQuery.trim( data );
  if ( data ) {
   // Make sure the incoming data is actual JSON
   // Logic borrowed from http://json.org/json2.js
   if ( rvalidchars.test( data.replace( rvalidescape, "@" )
    .replace( rvalidtokens, "]" )
    .replace( rvalidbraces, "")) ) {
    return ( new Function( "return " + data ) )();
   }
  }
 }
 jQuery.error( "Invalid JSON: " + data );
},

这样就完成了js对象与JSON字符串的互转了。

Javascript 相关文章推荐
JS中eval函数的使用示例
Jul 21 Javascript
JavaScript解析URL参数示例代码
Aug 12 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
Nov 18 Javascript
javascript实现树形菜单的方法
Jul 17 Javascript
详解Javascript中prototype属性(推荐)
Sep 03 Javascript
js常用的继承--组合式继承
Mar 06 Javascript
微信小程序 选项卡的简单实例
May 24 Javascript
js判断传入时间和当前时间大小实例(超简单)
Jan 11 Javascript
JavaScript实现区块链
Mar 14 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
Jul 25 Javascript
使用layui 渲染table数据表格的实例代码
Aug 19 Javascript
基于Vue+ElementUI的省市区地址选择通用组件
Nov 20 Javascript
微信小程序左滑动显示菜单功能的实现
Jun 14 #Javascript
vue中如何让子组件修改父组件数据
Jun 14 #Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
Jun 14 #Javascript
MVVM框架下实现分页功能示例
Jun 14 #Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
Jun 14 #jQuery
React 组件间的通信示例
Jun 14 #Javascript
三分钟学会用ES7中的Async/Await进行异步编程
Jun 14 #Javascript
You might like
JavaScript实现删除电脑的关机键
2016/07/26 PHP
JavaScript 模仿vbs中的 DateAdd() 函数的代码
2007/08/13 Javascript
JavaScript 直接操作本地文件的实现代码
2009/12/01 Javascript
js 获取坐标 通过JS得到当前焦点(鼠标)的坐标属性
2013/01/04 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
2016/10/05 Javascript
JS实现线性表的链式表示方法示例【经典数据结构】
2017/04/11 Javascript
基于JavaScript实现评论框展开和隐藏功能
2017/08/25 Javascript
vue-cli初始化项目中使用less的方法
2018/08/09 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
详解解决小程序中webview页面多层history返回问题
2019/08/20 Javascript
Python中shutil模块的学习笔记教程
2017/04/04 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
Python实现图片拼接的代码
2018/07/02 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
基于Python实现扑克牌面试题
2019/12/11 Python
python3 实现调用串口功能
2019/12/26 Python
使用celery和Django处理异步任务的流程分析
2020/02/19 Python
Django 自定义权限管理系统详解(通过中间件认证)
2020/03/11 Python
django日志默认打印request请求信息的方法示例
2020/05/17 Python
Python如何对齐字符串
2020/07/30 Python
简单掌握CSS3将文字描边及填充文字颜色的方法
2016/03/07 HTML / CSS
天美时手表加拿大官网:Timex加拿大
2016/09/01 全球购物
介绍一下linux文件系统分配策略
2013/02/25 面试题
JSF界面控制层技术
2013/06/17 面试题
咖啡店自主创业商业计划书
2014/01/22 职场文书
美容院考勤制度
2014/01/30 职场文书
2014年人事科工作总结
2014/11/19 职场文书
旷工辞退通知书
2015/04/17 职场文书
2015年十月一日放假通知
2015/08/18 职场文书
使用JS前端技术实现静态图片局部流动效果
2022/08/05 Javascript