参考资料

  1. 如何高效遍历JSON对象?
  2. json是什么格式简介功能
  3. JSON结构组
  4. JSON五种基本句型简介
  5. Json格式化有哪些
  6. json.dumps()怎么用
  7. JSON(JavaScript Object Notation)是一种轻量级的数据交换格式
  8. JSON数据类型

JSON 常用方法简介

  1. JSON.parse()

    • text:要解析的 JSON 字符串。

    • reviver(可选):转换结果的函数。

    • 功能:将 JSON 字符串解析为 JavaScript 对象。

    • 参数

    • 示例

      const jsonString = '{"name": "John", "age": 30}';
      const obj = JSON.parse(jsonString);
      console.log(obj.name); // 输出: John
  2. JSON.stringify()

    • value:要转换的 JavaScript 对象。

    • replacer(可选):转换结果的函数或数组。

    • space(可选):缩进用的空格数或字符串。

    • 功能:将 JavaScript 对象转换为 JSON 字符串。

    • 参数

    • 示例

      const obj = {name: "John", age: 30};
      const jsonString = JSON.stringify(obj);
      console.log(jsonString); // 输出: {"name":"John","age":30}
  3. JSON.parse() 使用 reviver

    • 功能:在解析时对结果进行转换。

    • 示例

      const jsonString = '{"name": "John", "age": 30}';
      const obj = JSON.parse(jsonString, (key, value) => {
        if (key === "age") return value + 1;
        return value;
      });
      console.log(obj.age); // 输出: 31
  4. JSON.stringify() 使用 replacer

    • 功能:在转换时过滤或转换属性。

    • 示例

      const obj = {name: "John", age: 30, password: "123"};
      const jsonString = JSON.stringify(obj, ["name", "age"]);
      console.log(jsonString); // 输出: {"name":"John","age":30}
  5. JSON.stringify() 使用 space

    • 功能:格式化输出的 JSON 字符串。

    • 示例

      const obj = {name: "John", age: 30};
      const jsonString = JSON.stringify(obj, null, 2);
      console.log(jsonString);
      // 输出:
      // {
      //   "name": "John",
      //   "age": 30
      // }

示例内容解析

  • JSON.parse():将字符串 '{"name": "John", "age": 30}' 解析为对象 {name: "John", age: 30}

  • JSON.stringify():将对象 {name: "John", age: 30} 转换为字符串 '{"name":"John","age":30}'

  • reviver:在解析时将 age 的值加 1。

  • replacer:只保留 nameage 属性。

  • space:使用 2 个空格缩进格式化输出。