JSON和String相互转换(Javascript)

String转换成JSON (String内为单JSON对象)

var querystring = require('querystring');
var str = "a=b&c=d&e=f&h=g";

var str1 = `
{
    "name": "11",
    "age": 22,
    "sex": "F"
}
`;
//方式1 注意:字符串的属性名必须有引号,且为双引号,否则报错。得到的结果:非特殊属性名的无引号
var json11 = JSON.parse(str1);

//方式2 结果:非特殊属性名的无引号
var json12 = eval('(' + str1 + ')');

//方式3 结果:非特殊属性名的无引号
var json13 = (function (obj) {
    return Function('return (' + obj + ')')();
})(str1);

//方式4,将含&和=的字符串转换成JSON对象,&替换为,,=替换为:,属性名无引号,属性值全为字符串
var json14 = querystring.parse(str);//需要导入querystring模块

String转换成JSON (String内为多JSON对象)

var str2 = `
    {
        "name": "LiLi",
        "age": 22,
        "sex": "F"
    },
    {
        "name": "LaLa",
        "age": 18,
        "sex": "F"
    }
`;
//方式1 注意:字符串的属性名必须有引号。得到的结果:非特殊属性名的无引号
var json21 = JSON.parse('['+str2+']');

//方式2 结果:非特殊属性名的无引号
var json22 = eval('[' + str2 + ']');

//方式3 结果:非特殊属性名的无引号
var json23 = (function (obj) {
    return Function('return [' + obj + ']')();
})(str2);

JSON转换成String

var querystring = require('querystring');
var str = "a=b&c=d&e=f&h=g";
var json1 = ({ name: '11', age: 22, sex: 'F' });
var json2 = querystring.parse(str);
var json3 = [
  { name: 'LiLi', age: 22, sex: 'F' },
  { name: 'LaLa', age: 18, sex: 'F' }
];
//方式1 所有属性名加"",json的最外层加""
var str11 = JSON.stringify(json1);
var str21 = JSON.stringify(json2);
var str31 = JSON.stringify(json3);

自定义函数

自己封装两者转换的函数,待补充。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值