json解析的几种方式
2025-04-18 10:03:19
14
参考资料
JSON解析的几种方式
1. 原生JSON对象
简介功能
浏览器原生提供的JSON对象,包含parse()和stringify()方法
详细属性参数说明
JSON.parse(text[, reviver])
text: 要解析的JSON字符串
reviver: 可选函数,用于转换解析结果
JSON.stringify(value[, replacer[, space]])
value: 要序列化的值
replacer: 可选函数或数组,控制序列化过程
space: 可选,用于美化输出的空格数或字符串
使用方法讲解
// 解析JSON const obj = JSON.parse('{"name":"John", "age":30}'); // 序列化为JSON const jsonStr = JSON.stringify(obj);
示例内容解析
const jsonStr = '{"name":"Alice","age":25,"hobbies":["reading","swimming"]}'; const person = JSON.parse(jsonStr); console.log(person.name); // 输出: Alice
2. eval()函数
简介功能
JavaScript原生eval函数可以执行字符串代码,可用于解析JSON但不推荐
详细属性参数说明
eval(string)
string: 要执行的JavaScript代码字符串
使用方法讲解
const obj = eval('(' + jsonStr + ')');
示例内容解析
const jsonStr = '{"name":"Bob","age":28}'; const person = eval('(' + jsonStr + ')'); console.log(person.age); // 输出: 28
3. jQuery.parseJSON()
简介功能
jQuery提供的JSON解析方法(已弃用,推荐使用原生JSON.parse)
详细属性参数说明
jQuery.parseJSON(json)
json: 要解析的JSON字符串
使用方法讲解
const obj = jQuery.parseJSON(jsonStr);
示例内容解析
const jsonStr = '{"product":"Laptop","price":999.99}'; const product = jQuery.parseJSON(jsonStr); console.log(product.price); // 输出: 999.99
4. 第三方库(json5、fast-json-parse等)
简介功能
提供更灵活或更高效的JSON解析功能
详细属性参数说明
各库参数不同,需参考具体文档
使用方法讲解
// 以json5为例 const JSON5 = require('json5'); const obj = JSON5.parse(jsonStr);
示例内容解析
// 使用json5解析非严格JSON const JSON5 = require('json5'); const obj = JSON5.parse("{name:'Charlie', age:35}"); // 允许单引号 console.log(obj.name); // 输出: Charlie