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

相关文章

  • JavaScript框架编程第2/2页

    《JavaScript框架编程》第2/2页是一篇介绍如何编写JavaScript框架的教程。以下是该篇文章的完整攻略: 概述 JavaScript框架是为了使JavaScript代码更可重用、可扩展和易于维护而创造的。框架是为了解决开发过程中重复工作的问题,因此可以轻松地实现重复使用和扩展。编写框架可帮助开发人员组织自己的代码并使用固定的约定。 构建开发环境…

    JavaScript 2023年5月17日
    00
  • 浅析JavaScript中作用域和作用域链

    浅析 JavaScript 中作用域和作用域链 什么是作用域 在 JavaScript 中,作用域指的是变量与函数能够被访问的范围。通俗地说,作用域就是一个变量或函数在代码中的可见性。 在 JavaScript 中,存在三种作用域: 全局作用域:定义在全局对象中的变量和函数,在整个程序中都可以被访问。 函数作用域:定义在函数内的变量和函数,在函数内部和嵌套的…

    JavaScript 2023年6月10日
    00
  • javascript学习笔记(十五) js间歇调用和超时调用

    JavaScript学习笔记(十五)—— JS间歇调用和超时调用 JavaScript中的间歇调用和超时调用是处理异步编程中的常用技术,它们可以让我们在指定的时间间隔内执行指定的函数或代码块。接下来我们将详细讲解 JavaScript中的间歇调用和超时调用。 1. setInterval方法 setInterval方法可以按照指定时间间隔重复执行指定的函数或…

    JavaScript 2023年5月27日
    00
  • 5分钟快速搭建vue3+ts+vite+pinia项目

    以下是详细讲解“5分钟快速搭建vue3+ts+vite+pinia项目”的完整攻略。 1. 创建项目 首先,我们需要先安装 Node.js 和 npm 包管理器,然后通过 npm 在命令行中执行以下命令来创建一个新的 Vue 3 TypeScript 项目: npm init vite@latest my-project –template vue-ts …

    JavaScript 2023年6月11日
    00
  • JS中的进制转换以及作用

    JS中的进制转换是非常重要的基础知识之一,下面为您详细讲解。 进制转换的作用 在计算机领域中,进制转换是一项非常重要的操作,它可以将不同进制的数字之间互相转换。通常我们所见到的数字都是十进制的(使用10个数字0~9),但是在计算机内部,数字常常需要使用其他进制进行表示,如二进制、八进制、十六进制等。在进行网络通讯、文件存储以及数据传输等时,进制转换都是一个极…

    JavaScript 2023年5月19日
    00
  • js中匿名函数的N种写法

    接下来我将为您详细讲解 “js中匿名函数的N种写法” 的攻略。该攻略将介绍匿名函数的基本写法、立即执行函数、闭包、箭头函数、生成器函数和ES6中的模板字符串等多种写法,下面进行详细说明。 基本写法 匿名函数最基本最常见的写法如下: (function(){ //代码块 })(); 这其实是一个立即执行函数的写法,将一个匿名函数用小括号括起来,并在最后加上一个…

    JavaScript 2023年5月27日
    00
  • Javascript Date setMilliseconds() 方法

    JavaScript 中的 setMilliseconds() 方法用于设置日期对象的毫秒部分。在本教程中,我们将详细介绍 setMilliseconds() 方法的使用方法。 setMilliseconds() 方法基本语法如下: date.setMilliseconds(msValue) 其中,msValue 是设置的毫秒值,必须是一个介于 0 到 99…

    JavaScript 2023年5月11日
    00
  • JavaScript高级程序设计(第3版)学习笔记2 js基础语法

    非常感谢您对JavaScript高级程序设计(第3版)学习笔记2 js基础语法的关注。下面我将为您提供一份完整攻略,希望能够帮助您更好地学习和应用JavaScript基础语法。 一、目录 变量 数据类型 运算符 语句 1. 变量 变量是存储数据值的容器。在JavaScript中,可以使用var关键字来声明变量。变量名只能包含字母、数字、下划线和美元符号,并且…

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