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

相关文章

mapstruct中的@Mapper注解的基本用法

《mapstruct中的@Mapper注解的基本用法》在MapStruct中,@Mapper注解是核心注解之一,用于标记一个接口或抽象类为MapStruct的映射器(Mapper),本文给大家介绍ma... 目录1. 基本用法2. 常用属性3. 高级用法4. 注意事项5. 总结6. 编译异常处理在MapSt

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

java中long的一些常见用法

《java中long的一些常见用法》在Java中,long是一种基本数据类型,用于表示长整型数值,接下来通过本文给大家介绍java中long的一些常见用法,感兴趣的朋友一起看看吧... 在Java中,long是一种基本数据类型,用于表示长整型数值。它的取值范围比int更大,从-922337203685477

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

MyBatis ResultMap 的基本用法示例详解

《MyBatisResultMap的基本用法示例详解》在MyBatis中,resultMap用于定义数据库查询结果到Java对象属性的映射关系,本文给大家介绍MyBatisResultMap的基本... 目录MyBATis 中的 resultMap1. resultMap 的基本语法2. 简单的 resul

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

java中Optional的核心用法和最佳实践

《java中Optional的核心用法和最佳实践》Java8中Optional用于处理可能为null的值,减少空指针异常,:本文主要介绍java中Optional核心用法和最佳实践的相关资料,文中... 目录前言1. 创建 Optional 对象1.1 常规创建方式2. 访问 Optional 中的值2.1

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢