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

yizhihongxing

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)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • js中Math之random,round,ceil,floor的用法总结

    js中Math之random,round,ceil,floor的用法总结 在JavaScript(简称JS)中,Math对象是一个内置对象,它涵盖了一系列数学函数和常数。 本篇攻略主要介绍Math对象中的 random(), round(), ceil() 和 floor() 这四个常用函数的用法。 1. random() random() 函数返回一个浮点…

    JavaScript 2023年5月27日
    00
  • 详谈JS中数组的迭代方法和归并方法

    详谈JS中数组的迭代方法和归并方法 什么是迭代方法? 在JavaScript中,迭代方法是一种对数组进行操作的函数,在数组中迭代每一个元素并执行指定的操作,最终返回一个新的数组或其他值。常见的迭代方法有forEach()、map()、filter()、some() 和 every() 等。 示例 1:forEach() forEach() 方法用于遍历每个元…

    JavaScript 2023年5月27日
    00
  • 使用vue-router为每个路由配置各自的title

    针对如何使用vue-router为每个路由配置各自的title,可以按照以下完整攻略进行操作: 1.在路由中设置meta属性 首先在路由中设置meta属性,可以定义一个meta属性,用于存储每个路由的标题,具体代码如下: const routes = [ { path: ‘/’, name: ‘home’, component: Home, meta: { …

    JavaScript 2023年6月11日
    00
  • Vue Router路由hash模式与history模式详细介绍

    Vue Router路由hash模式与history模式详细介绍 在Vue.js中,Vue Router是一个常用的路由管理器。Vue Router可以实现单页应用(SPA)的路由功能。在Vue Router中,有两种路由模式:hash模式和history模式。在本文中,我们将详细介绍这两种模式的区别和使用方法。 hash模式 hash模式是Vue Rout…

    JavaScript 2023年6月11日
    00
  • 使用js正则表达式验证文件扩展名方法实例

    使用 JavaScript 正则表达式验证文件扩展名是一个常见的前端开发需求,下面是一份完整的攻略,供参考。 什么是文件扩展名? 在计算机领域,文件扩展名是指在文件名的末尾添加的一个或多个字符,用于表示该文件的类型。例如,“.txt” 表示文本文件,“.png” 表示图像文件,“.html” 表示网页文件等等。 验证文件扩展名的方法 在 JavaScript…

    JavaScript 2023年5月27日
    00
  • 利用js来实现缩略语列表、文献来源链接和快捷键列表

    要实现缩略语列表、文献来源链接和快捷键列表的功能,可以使用一些JavaScript库和工具来完成,常见的包括jQuery和Bootstrap等。 缩略语列表 Markdown中可以通过使用缩略语的方式来节约篇幅。可以使用JavaScript来添加一个缩略语列表,让用户能够快速查看和了解所有的缩略语含义。 实现步骤: (1)首先需要在Markdown文档中定义…

    JavaScript 2023年6月10日
    00
  • Node.js中使用Buffer编码、解码二进制数据详解

    当我们需要处理二进制数据时,就需要使用到Node.js的Buffer API。Buffer API是用于处理二进制数据的API,可以将数据流转换为Buffer对象,进行编码、解码、拼接、拆分等操作。 创建Buffer对象 首先,我们需要创建一个Buffer对象来存储我们的二进制数据。可以通过下面的几种方式创建: 方法一:通过字符串创建Buffer对象 con…

    JavaScript 2023年5月19日
    00
  • 详解plotly.js 绘图库入门使用教程

    详解plotly.js 绘图库入门使用教程 简介 plotly.js 是一款用于绘制交互式可视化图表的 JavaScript 库。它支持多种图表类型,例如:柱状图、线性图、散点图、热力图等等。plotly.js 提供了丰富的配置选项,可以让我们定制化我们的图表。 安装 你可以从plotly.js的官方网站下载plotly.js的Javascript库,并在你…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部