json跟qs的区别
2018-12-28 本文已影响0人
翔阿翔阿翔
json
json有两种,一种是json对象,还有一种是json字符串。之前就踩过一个坑,后台返回的是json字符串,我用对象的形式怎么也获取不了数据。
json字符串长这样
var str1 = '{ "name": "demaxiya", "sex": "man" }'
你用 str1.name
是获取不到 demaxiya
的,因为这是json字符串,想要以这个格式获取数据,必须是json对象
var str1 = { "name": "demaxiya", "sex": "man" }
其实就是少了一对引号
json对象转字符串
var str1 = { "name": "demaxiya", "sex": "man" }
var str2 = JSON.stringify (str1)
json字符串转对象
var str1 = '{ "name": "demaxiya", "sex": "man" }'
var str2 = jQuery.parseJSON(str1)
//或者
var str3 = JSON.parse(str1);
//都仅支持标准格式str1 = '{ "name": "demaxiya", "sex": "man" }'
还有一种方式
var str1 = '{ "name": "demaxiya", "sex": "man" }'
var str2 = eval('(' + str1 + ')');
这是我对json的小总结
有时候我们还需要用到另外的一种格式
qs是npm仓库里面的一个包
qs.stringify()将对象 序列化成URL的形式,以&进行拼接
var str1 = { "name": "demaxiya", "sex": "man" }
var str2 = qs.stringify(str1)
console.log(str2)
输出 name=demaxiya&sex=man