JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数

下面是关于 JavaScript 中 JSON.parse 函数和 JSON.stringify 函数的详细讲解。

JSON 简介

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它是基于 JavaScript 的一个子集,可以被多种不同编程语言读取和写入。

在 JavaScript 中要想将 JSON 数据转换为对象,或者将对象转换为 JSON 数据,可以使用 JSON.parse() 和 JSON.stringify() 方法。

JSON.parse() 方法

JSON.parse() 方法用于将一个JSON字符串转换为JavaScript对象。

基本用法:

const jsonStr = '{"name":"Jack", "age": 18, "city":"New York"}'
const obj = JSON.parse(jsonStr)
console.log(obj.name) // 输出 "Jack"

如果 JSON 字符串不符合规范(如缺失双引号或者属性名未加引号等),则该方法会抛出 SyntaxError 错误。

在 JSON.parse() 方法中还有一个可选的 reviver 参数,可以用来修改解析出来的对象或者数组。

例如,下面的代码演示了 reviver 参数的用法:

const jsonStr = '{"name":"Jack", "age": 18, "city":"New York"}'
const obj = JSON.parse(jsonStr, (key, value) => {
  if (key === 'age') {
    return value + 1
  }
  return value
})
console.log(obj.age) // 输出 19

在这个例子中,reviver函数判断如果键值为 "age" ,则将值加1后返回,否则返回原始值。

JSON.stringify() 方法

JSON.stringify() 方法将 JavaScript 对象或数组转换为 JSON 字符串。

基本用法:

const obj = {name: 'Jack', age: 18, city: 'New York'}
const jsonStr = JSON.stringify(obj)
console.log(jsonStr) 
// 打印结果: {"name": "Jack","age":18,"city":"New York"}

在 JSON.stringify() 方法中还包括第二个和第三个可选参数,分别是 replacer 和 space。

replacer 参数可以是一个函数或者数组。如果参数是一个函数,该函数将有机会修改存储在 JSON 字符串中的每个值。如果参数是一个数组,只有包含在数组中的属性名才会被序列化到 JSON 字符串中。

例如:

const obj = { a: 1, b: 2, c: 3 }
const jsonStr = JSON.stringify(obj, ['a', 'c']) 
console.log(jsonStr)
// 打印结果:{"a":1, "c":3}

// 使用 replacer 函数过滤
const jsonStr2 = JSON.stringify(obj, (key, value) => {
  if (key === 'a') {
    return undefined
  }
  return value
})
console.log(jsonStr2)
// 打印结果:{"b":2,"c":3}

space 参数可选,用来控制缩进的空格数。例如:

const obj = {name: 'Jack', age: 18, city: 'New York'}
const jsonStr = JSON.stringify(obj, null, 2)
console.log(jsonStr)
// 打印结果:
// {
//   "name": "Jack",
//   "age": 18,
//   "city": "New York"
// }

以上是关于 JSON.parse() 和 JSON.stringify() 方法的详细讲解攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数 - Python技术站

(0)
上一篇 2天前
下一篇 2天前

相关文章

  • 详解JavaScript中的六种错误类型

    详解JavaScript中的六种错误类型 在JavaScript中,存在着多种错误类型,包括语法错误、类型错误、范围错误、引用错误等。了解这些错误类型可以帮助我们更好地调试代码,提高编码效率。接下来我们将详细讲解JavaScript中的六种错误类型。 1. 语法错误(SyntaxError) 语法错误指的是代码存在语法错误,导致JavaScript无法解析执…

    JavaScript 2天前
    00
  • javascript的数据类型、字面量、变量介绍

    当谈到 JavaScript 时,数据是非常重要的。JavaScript 可以处理多种类型的数据。对于每种数据类型,JavaScript 都有相应的字面量和对应的变量类型。下面将详细介绍 JavaScript 数据类型、字面量和变量。 数据类型 JavaScript 有七种数据类型,其中六种是原始类型,一种为对象类型。原始类型包括数字、字符串、布尔值、nul…

    JavaScript 1天前
    00
  • Javascript中获取对象的原型对象的方法小结

    获取对象的原型对象是JavaScript中常见的操作,下面介绍一些获取对象的原型对象的方法。 方法一:使用Object.getPrototypeOf Object.getPrototypeOf() 方法返回指定对象的原型(内部[[Prototype]]属性的值)。 示例代码: const obj = {}; const proto = Object.getP…

    JavaScript 2天前
    00
  • JavaScript将XML转成JSON的方法

    将XML转换为JSON是前端开发中的一个常见任务,可以使用JavaScript实现。以下是一种将XML转换为JSON的方法,步骤如下: 获取XML数据 首先,需要从服务器或API中获取XML数据。可以使用JavaScript中的XMLHttpRequest对象来实现。其中,XMLHttpRequest.open()方法设置HTTP请求的方法和URL,XMLH…

    JavaScript 2天前
    00
  • JavaScript 常见安全漏洞和自动化检测技术

    JavaScript 常见安全漏洞和自动化检测技术 JavaScript 是一门广泛应用于 Web 前端开发的编程语言,但是也因为其执行在客户端的特性,容易受到各种攻击,例如 XSS(跨站脚本攻击)、CSRF(跨站请求伪造)等。因此,在使用 JavaScript 开发 Web 应用时,需要特别注意一些安全漏洞。 常见的 JavaScript 安全漏洞 跨站脚…

    JavaScript 2023年5月19日
    00
  • 详解JavaScript ES6中的模板字符串

    详解JavaScript ES6中的模板字符串 ES6(ECMAScript 2015)引入了许多新功能,其中一个功能是模板字符串。模板字符串是可以包括变量和表达式的字符串字面量,它可以方便地构建动态字符串,比传统的字符串连接方式更加简单和易读。在本篇文章中,我们将深入探讨什么是模板字符串,以及如何在JavaScript中使用它。 基本语法 模板字符串用反引…

    JavaScript 1天前
    00
  • JS中利用FileReader实现上传图片前本地预览功能

    下面是详细讲解 JS 中利用 FileReader 实现上传图片前本地预览功能的完整攻略: 什么是 FileReader FileReader 是 HTML5 新增的一个 API,它允许网页异步读取存储在用户计算机上的文件数据,使用该 API 可以实现文件的预览、上传、加密等功能。 使用 FileReader 实现上传图片前本地预览功能的步骤 获取 file…

    JavaScript 2天前
    00
  • JavaScript程序员应该知道的45个实用技巧

    JavaScript程序员应该知道的45个实用技巧,是一篇有关于JavaScript编程的高质量技术指南。该指南列举了45个实用技巧,帮助JavaScript程序员更有效率和高效地工作。 以下是该攻略的完整说明: 目录 第1条:使用console.table格式化输出 第2条:使用Array.from()将类数组对象转换为数组 第3条:使用Array.isA…

    JavaScript 2023年5月18日
    00
  • jQuery基础教程笔记适合js新手第1/2页

    首先需要明确的是,”jQuery基础教程笔记适合js新手”指的是一篇博客或教程文章,因此在进行攻略之前,需要先打开这篇文章并仔细阅读,了解其涵盖的内容和需要掌握的知识点。 在阅读完整篇文章后,接下来可以进行以下步骤: 理解jQuery的基本概念和用法 jQuery是一种JavaScript库,用于简化HTML文档操作、处理事件、动画效果、AJAX等操作。在攻…

    JavaScript 2023年5月18日
    00
  • JavaScript面向对象程序设计创建对象的方法分析

    JavaScript面向对象程序设计创建对象的方法分析 什么是对象? 对象是一种数据类型。它可以用来存储一组相关的数据,并且允许我们定义相关的方法来访问和操作这些数据。对象由多个属性组成,每个属性都有一个名称和对应的值。 如何创建对象? 在JavaScript中,有多种创建对象的方式。下面分别介绍这些方法。 1. 对象字面量 对象字面量是最常用的创建对象的方…

    JavaScript 1天前
    00