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);
自定义函数
自己封装两者转换的函数,待补充。。。