js对象转json对象(post请求传递json参数)

让我们抱团成长

文字隐藏怎么办,滑动屏幕试试看!

—start—

这篇文章主要介绍了JS对象与json字符串相互转换实现方法,结合实例形式分析了js对象与json字符串相互转换的相关操作技巧与注意事项,需要的朋友可以参考下.
js对象转json对象(post请求传递json参数)

本文实例讲述了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字符串的互转了。

—end—

适合分享 | 值得留言

发表评论

登录后才能评论