参考资料

  1. Json生成Go结构体有哪些
  2. Json转Excel/CSV格式有哪些
  3. JSON结构组
  4. JSON五种基本句型简介
  5. 如何高效遍历JSON对象?
  6. json语法格式简介功能
  7. Json生成C#实体类有哪些
  8. JSON数据类型

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