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);
自定义函数
自己封装两者转换的函数,待补充。。。
本文介绍了将String转换为JSON对象的多种方法,包括JSON.parse()、eval()和使用函数构造等,同时也展示了如何将JSON对象转换回String。此外,还讨论了处理包含多个JSON对象的字符串的转换,并提供了自定义转换函数的思路。内容涵盖JSON解析和序列化的常见问题及解决方案。
1万+

被折叠的 条评论
为什么被折叠?



