要将 JS 转成 JSON 格式的字符串为对象或数组,有两种常见的方法,分别是:
1.使用 JSON.parse() 将 JSON 字符串转换为对象或数组;
2.使用 eval() 函数将 JSON 字符串转换为对象或数组。
下面我们分别来讲解这两种方法的使用方法及示例说明。
1.使用 JSON.parse() 转换成对象或数组
JSON.parse() 方法可以将格式正确的 JSON 字符串转换成对应的对象或数组。具体用法如下:
let jsonStr = '{"name": "张三", "age": 20}';
let obj = JSON.parse(jsonStr);
console.log(obj); // 输出:{name: "张三", age: 20}
let jsonArrayStr = '[{"name": "张三", "age": 20}, {"name": "李四", "age": 22}]';
let arr = JSON.parse(jsonArrayStr);
console.log(arr); // 输出:[{name: "张三", age: 20}, {name: "李四", age: 22}]
在上述示例中,jsonStr 和 jsonArrayStr 分别是符合 JSON 格式的字符串,JSON.parse() 方法将其解析成对应的对象和数组,分别存储在 obj 和 arr 变量中。
2.使用 eval() 函数转换成对象或数组
eval() 函数是一个全局函数,可以将传入的字符串作为 JavaScript 代码进行解析执行。因此,我们可以将一个 JSON 字符串作为参数传入 eval() 函数中,这样就可以将 JSON 字符串转换成对应的对象或数组。具体用法如下:
let jsonStr = '{"name": "张三", "age": 20}';
let obj = eval("(" + jsonStr + ")");
console.log(obj); // 输出:{name: "张三", age: 20}
let jsonArrayStr = '[{"name": "张三", "age": 20}, {"name": "李四", "age": 22}]';
let arr = eval("(" + jsonArrayStr + ")");
console.log(arr); // 输出:[{name: "张三", age: 20}, {name: "李四", age: 22}]
在上述示例中,我们将 jsonStr 和 jsonArrayStr 分别作为参数传给 eval() 函数,并用“()”将其括起来,再将返回值赋值给 obj 和 arr 变量。注意,使用 eval() 函数需要注意参数的安全性,因此不建议在生产环境中使用此方法。
综上所述,我们可以使用 JSON.parse() 方法或 eval() 方法将 JSON 字符串转换成对应的对象或数组,并能够适用于前后台数据交互、读取等多种场景。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 转json格式的字符串为对象或数组(前后台)的方法 - Python技术站