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

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

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

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

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

rush:js;"> var data = new Object(); var jsonData = JSON.stringify(data);

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

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

rush:js;"> var jsonData = $.getJSON(); var data = $.parseJSON(jsonData);

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

rush:js;"> 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字符串的互转了。

PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

代码检验、检验、美化、格式化工具:

JSON

在线格式化工具:

在线XML/JSON互相转换工具:

json

代码在线格式化/美化/压缩/编辑/转换工具:

在线json压缩/转义工具:

更多关于JavaScript相关内容可查看本站专题:《》、《》、《》、《》、《》及《用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面