谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)

JSON是一种轻量级的数据交换格式,提供了在不同编程语言之间交换数据的标准格式。在JavaScript中,JSON对象提供了一种方便的方式将JavaScript对象转换成JSON格式的字符串或者将JSON格式的字符串转换成JavaScript对象。而JSON.stringify()和JSON.parse()就是这两种转换方式。

JSON.stringify(obj)

JSON.stringify()方法接收一个JavaScript对象作为参数,并将其转换成JSON格式的字符串。在转换过程中,除了undefined,函数和symbol三种类型的属性会被自动忽略外,其他类型的属性都会被转换成对应的JSON数据类型。

以下是一个示例:

const obj = {
  name: 'Diana',
  age: 32,
  isMarried: true,
  hobbies: ['reading', 'traveling', 'cooking'],
  address: {
    city: 'Beijing',
    street: 'No. 1 Street',
    postcode: '100010'
  }
};

const jsonString = JSON.stringify(obj);

console.log(jsonString);
// 输出: {"name":"Diana","age":32,"isMarried":true,"hobbies":["reading","traveling","cooking"],"address":{"city":"Beijing","street":"No. 1 Street","postcode":"100010"}}

从上面的示例可以看出,我们利用JSON.stringify()将一个JavaScript对象转换成了对应的JSON格式字符串。在转换过程中,属性名和属性值之间用冒号分隔,不同属性之间用逗号分隔,整个对象用一对花括号包围。

JSON.parse(string)

JSON.parse()方法接收一个JSON格式的字符串作为参数,并将其转换成对应的JavaScript对象。JSON格式的字符串必须满足一定的格式要求,否则将会抛出异常。在转换过程中,JSON.parse()方法会将JSON格式的字符串还原成对应的JavaScript数据类型。

以下是一个示例:

const jsonString = '{"name":"Diana","age":32,"isMarried":true,"hobbies":["reading","traveling","cooking"],"address":{"city":"Beijing","street":"No. 1 Street","postcode":"100010"}}';

const obj = JSON.parse(jsonString);

console.log(obj);
// 输出: { name: 'Diana', age: 32, isMarried: true, hobbies: ['reading','traveling','cooking'], address: { city: 'Beijing', street: 'No. 1 Street', postcode: '100010' } }

从上面的示例可以看出,我们利用JSON.parse()将一个JSON格式字符串转换成了对应的JavaScript对象。在转换过程中,JSON.parse()会将属性名和属性值之间的冒号去掉,用双引号包围所有的属性名,对于数组和对象,用一对方括号或一对花括号包围,而且值必须用引号括起来。

综上所述,JSON.stringify()和JSON.parse()都是将JavaScript对象和JSON格式的字符串相互转换的方法。使用时要遵循转换的规则,尽量避免在JSON格式中使用不被允许的语法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string) - Python技术站

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

相关文章

  • js去除重复字符串两种实现方法

    当需要去除重复的字符串时,在JavaScript中可以采用两种不同的实现方式:使用Set数据结构和使用正则表达式。 使用Set数据结构 Set是JavaScript中的一种数据结构,它可以存储不重复的数据,非常适用于去重操作。在使用Set去重时,首先需要将待去重的字符串装入Set中,然后再将Set转成数组即可。 const str = "hello…

    JavaScript 2天前
    00
  • jQuery基础教程笔记适合js新手第1/2页

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

    JavaScript 2023年5月18日
    00
  • JavaScript手写数组的常用函数总结

    接下来我将从以下三个方面详细讲解“JavaScript手写数组的常用函数总结”的完整攻略: 常用函数列表 函数的实现 示例说明 1. 常用函数列表 下面是JavaScript手写数组的常用函数列表,包括函数名称、参数和作用: 函数名称 参数 作用 push element 在数组末尾添加一个元素并返回新的长度 pop 无 删除数组末尾的元素并返回该元素 sh…

    JavaScript 2天前
    00
  • javascript数组使用调用方法汇总

    JavaScript数组使用调用方法汇总 在JavaScript中,数组是一个非常常用的数据结构类型,拥有丰富的调用方法。这篇文章将为大家总结汇总了JavaScript数组使用调用方法,方便大家开发时进行参考使用。 创建一个数组 // 创建一个空数组 let arr = []; // 使用Array构造函数创建 let arr = new Array(); …

    JavaScript 2天前
    00
  • JavaScript异步编程Promise模式的6个特性

    当我们使用JavaScript编写复杂的应用时,经常会遇到需要进行异步操作的情况,例如异步请求数据或处理大量的计算任务。Promise模式是一种异步编程的解决方案,它对异步操作进行了抽象和封装,并提供了一些特性来更好地处理和管理异步操作。下面是JavaScript Promise模式的6个特性的详细讲解: 1. Promise是一个对象 在JavaScrip…

    JavaScript 1天前
    00
  • javaScript面向对象继承方法经典实现

    下面是“javaScript面向对象继承方法经典实现”的完整攻略。 什么是面向对象继承? 在面向对象的编程中,允许创建类继承一些特定的数据或行为,从而可以减少重复的代码。你可以创建一个类来拥有基本的行为和特征,让它的子类来扩展或重写这些行为和特征。 经典继承方法 JavaScript中的经典继承方法有两种:原型链继承和构造函数继承。 原型链继承 原型链继承是…

    JavaScript 3天前
    00
  • js获取html参数及向swf传递参数应用介绍

    下面是针对“js获取html参数及向swf传递参数应用介绍”的完整攻略。 1. JS获取HTML参数 1.1 通过 URL 参数获取 JS获取 HTML 参数的最简单方法是解析 URL 参数。通过 window.location.search 可以获取到 URL 中的查询字符串部分,这个部分包含了所有的参数和它们的值。 示例: const queryStri…

    JavaScript 3天前
    00
  • 总结js函数相关知识点

    以下是总结 JavaScript 函数相关知识点的攻略: JavaScript 函数基础 定义函数 function funcName(param1, param2, …, paramN) { // 函数体 return expression; } 其中,funcName 是函数名,param1到paramN是参数,函数体中的 expression 是函…

    JavaScript 2天前
    00
  • JavaScript生成.xls文件的代码

    生成Excel文件是前端开发中常见的需求之一,可以通过JS库来实现。目前比较流行的库有两个:SheetJS和Handsontable,本文将以SheetJS为例来讲解如何使用JS生成Excel文件的完整攻略。 SheetJS库介绍 SheetJS是一组用于处理Excel文件的JS库,可读取、修改和写入Excel文件,支持XLS、XLSX等多种格式。同时She…

    JavaScript 2023年5月19日
    00
  • JavaScript 微任务和宏任务讲解

    JavaScript 微任务和宏任务讲解 在 JavaScript 中,异步任务主要分为微任务和宏任务两种。宏任务可以理解为宏大的任务,就是需要花费比较长时间才能完成的任务,比如定时器、ajax 请求、DOM 事件等。微任务可以理解为小任务,比较轻量,基本上可以在当前任务完成后马上被执行,比如 Promise。 在执行异步任务时,引擎会将宏任务放入宏任务队列…

    JavaScript 1天前
    00