JSON.parse() 和 JSON.stringify()的用法

2024-05-06 22:28
文章标签 json 用法 parse stringify

本文主要是介绍JSON.parse() 和 JSON.stringify()的用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

介绍

JSON.parse()JSON.stringify() 是 JavaScript 中用于处理 JSON 格式数据的两个核心方法。

  • JSON.parse(): 用于将 JSON 字符串解析为 JavaScript 对象。
  • JSON.stringify(): 用于将 JavaScript 对象转换为 JSON 字符串。

JSON.parse() 

JSON.parse() 方法将 JSON 字符串解析为 JavaScript 对象。它接受一个 JSON 字符串作为参数,并返回与该字符串对应的 JavaScript 对象。

const jsonString = '{"name": "John", "age": 30}';
const jsonObject = JSON.parse(jsonString);console.log(jsonObject); // { name: 'John', age: 30 }
console.log(jsonObject.name); // John
console.log(jsonObject.age); // 30
JSON.parse('{}') // {}
JSON.parse('true') // true
JSON.parse('null') // null
//该方法也支持数字、布尔值和null三个类型的值,转换出对应的字面值。不支持其他类型。
JSON.parse('"前端"')// '前端'
JSON.parse(null) // null
JSON.parse(111.) // 111
JSON.parse(0x12) // 18
JSON.parse(true) // true
JSON.parse([])// Uncaught SyntaxError: Unexpected end of JSON input
//字符串必须使用双引号,不能使用单引号
JSON.parse('"String"') // 'String'
JSON.parse('\'String\'') // Uncaught SyntaxError: Unexpected token ' in JSON at position 0
//只支持十进制的字符串,但小数点后必须跟上数字
JSON.parse('111') // 111
JSON.parse('0x12')
// Uncaught SyntaxError: Unexpected token x in JSON at position 1
JSON.parse('111.232') // 111.232
JSON.parse('111.')
// Uncaught SyntaxError: Unexpected end of JSON input
....

JSON.stringify()

JSON.stringify() 方法将 JavaScript 对象转换为 JSON 字符串。它接受一个 JavaScript 对象作为参数,并返回对应的 JSON 字符串。

const obj = { name: 'John', age: 30 };
const jsonString = JSON.stringify(obj);console.log(jsonString); // '{"name":"John","age":30}'//基本类型值字符串、数字、布尔值,以及String、Boolean、Number对象值,都会转成原始值字符串输出
JSON.stringify(111) // '111'
JSON.stringify(new String('111')) //'"111"'
JSON.stringify(false) // 'false'
JSON.stringify(Boolean(true)) // 'true'
//基本类型的字符串,转换结果会带双引号。 因为在还原时,双引号会让JavaScript知道是字符串,而不是变量。
JSON.stringify('json') === 'json' // false
JSON.stringify('json') === '"json"' // true
.....

使用场景

  1. 数据传输: 在客户端和服务器之间传输数据时,通常会使用 JSON 格式。你可以使用 JSON.stringify() 将 JavaScript 对象转换为 JSON 字符串,然后通过网络发送到服务器,服务器收到后再使用 JSON.parse() 将 JSON 字符串解析为 JavaScript 对象。

  2. 存储数据: 当需要将 JavaScript 对象保存到本地存储(如浏览器的本地存储或数据库)时,通常需要将其转换为 JSON 格式。这样做可以确保数据的序列化和反序列化过程安全可靠。

  3. 与其他系统交互: 当与其他系统进行交互时,如果它们使用的是 JSON 格式作为数据交换的标准,你需要将 JavaScript 对象转换为 JSON 字符串进行发送,并在接收到数据后将 JSON 字符串解析为 JavaScript 对象。

 

总的来说,JSON.parse()JSON.stringify() 是处理 JSON 格式数据的基本工具,它们在数据传输、存储和与其他系统交互等方面都有广泛的应用。 

我这里只是基本使用,更详细的内容大家可以搜索进行了解。

我也是一个入行比较短的小白,有不对的地方可以指正交流哦!

这篇关于JSON.parse() 和 JSON.stringify()的用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/965553

相关文章

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

UVM:callback机制的意义和用法

1. 作用         Callback机制在UVM验证平台,最大用处就是为了提高验证平台的可重用性。在不创建复杂的OOP层次结构前提下,针对组件中的某些行为,在其之前后之后,内置一些函数,增加或者修改UVM组件的操作,增加新的功能,从而实现一个环境多个用例。此外还可以通过Callback机制构建异常的测试用例。 2. 使用步骤         (1)在UVM组件中内嵌callback函

这些ES6用法你都会吗?

一 关于取值 取值在程序中非常常见,比如从对象obj中取值 const obj = {a:1b:2c:3d:4} 吐槽: const a = obj.a;const b = obj.b;const c = obj.c;//或者const f = obj.a + obj.b;const g = obj.c + obj.d; 改进:用ES6解构赋值

php中json_decode()和json_encode()

1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json

struts2中的json返回指定的多个参数

要返回指定的多个参数,就必须在struts.xml中的配置如下: <action name="goodsType_*" class="goodsTypeAction" method="{1}"> <!-- 查询商品类别信息==分页 --> <result type="json" name="goodsType_findPgae"> <!--在这一行进行指定,其中lis是一个List集合,但

tiptap parseHTML renderHTML 使用

要在 Tiptap 中使用 parseHTML 和 renderHTML,可以通过创建自定义扩展来解析和渲染自定义的 HTML 元素。这两个方法允许你定义如何将 HTML 解析为 ProseMirror 文档节点以及如何将 ProseMirror 的文档节点渲染为 HTML。 1. parseHTML parseHTML 用于将 HTML 元素解析为 ProseMirror 节点。在自定义扩展

特殊JSON解析

一般的与后台交互;都会涉及到接口数据的获取;而这里的数据一般情况就是JSON 了;JSON 解析起来方便;而且数据量也较小一些;所以JSON在接口数据返回中是个很不错的选择。 下面简单说下JSON解析过程中的一些案例: 这里我用到了三方的架包:fastjson-1.1.39.jar 架包 可以在我的博客中找到下载;或者网上找下 很多的; 这里主要就是映射  关系了;这就要求:实体类的名称和

2021-8-14 react笔记-2 创建组件 基本用法

1、目录解析 public中的index.html为入口文件 src目录中文件很乱,先整理文件夹。 新建components 放组件 新建assets放资源   ->/images      ->/css 把乱的文件放进去  修改App.js 根组件和index.js入口文件中的引入路径 2、新建组件 在components文件夹中新建[Name].js文件 //组件名首字母大写

Cmake之3.0版本重要特性及用法实例(十三)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧

关于断言的部分用法

1、带变量的断言  systemVerilog assertion 中variable delay的使用,##[variable],带变量的延时(可变延时)_assertion中的延时-CSDN博客 2、until 的使用 systemVerilog assertion 中until的使用_verilog until-CSDN博客 3、throughout的使用   常用于断言和假设中的