当前位置: 首页 > news >正文

JSON.stringify与JSON.parse详解与实践

目录

JSON.stringify

简介

主要用途:

API

实践1:

实践2:

JSON.parse

简介

API

实践1

实践2


JSON.stringify

简介

用于把JavaScript对象、数组、值、布尔值等序列化成字符串形式。

主要用途:

得到的数据通常有以下主要用途:

数据传输:在客户端和服务器之间传递数据时,通常需要把数据序列化为字符串进行传输。JSON是一种常见的数据交换格式,而JSON.stringify 可以很方便的将javascript 的对象等数据转换成JSON字符串,以便在网络上传输。

本地存储: 在浏览器端,localStoragesessionStorage 存储的数据必须是字符串形式。JSON.stringify 可以用来将 JavaScript 对象转为字符串,以便在本地存储中使用。

保存数据: 将数据存储到本地文件或数据库时,经常需要将数据转为字符串形式。JSON 格式的字符串是一个通用的选择,而 JSON.stringify 可以用来生成符合标准的 JSON 字符串。

JSON.stringify() - JavaScript | MDN

API

JSON.stringify(value: any, replacer?: (string | number)[] | null | undefined, space?: string | number | undefined): string

实践1:

const data = {key1: 'value1',key2: 'value2',key3: {subKey1: 'subValue1',subKey2: 'subValue2'}
};
//改变内容,把所有的value值变为大写
const jsonString = JSON.stringify(data, (key, value) => {// 使用 replacer 函数,将所有字符串值转为大写if (typeof value === 'string') {return value.toUpperCase();}return value;
}, 2);  // 使用缩进为2的空格console.log(jsonString);

实践2:

const data = {key1: 'value1',key2: 'value2',key3: {subKey1: 'subValue1',subKey2: 'subValue2'}
};//不改变内容,缩进4空格,便于阅读
const jsonString = JSON.stringify(data, null, 4);  // 使用缩进为4的空格console.log(jsonString);

JSON.parse

简介

将JSON的字符串转换为 JavaScript的 对象。需要注意 必现符合JSON字符串格式的数据才行。

JSON.parse() - JavaScript | MDN

API

JSON.parse(text: string, reviver?: ((this: any, key: string, value: any) => any) | undefined): any

实践1

const jsonString = '{"name": "John", "age": 30, "city": "New York"}';const reviver = (key, value) => {// 将 age 属性的值加倍if (key === 'age') {return value * 2;}return value;
};const parsedObject = JSON.parse(jsonString, reviver);console.log(parsedObject);
// 输出: { name: 'John', age: 60, city: 'New York' }

实践2

const jsonString = '{"name": "John", "age": 30, "city": "New York"}';const parsedObject = JSON.parse(jsonString);console.log(parsedObject);
// 输出: { name: 'John', age: 30, city: 'New York' }

http://www.lryc.cn/news/253809.html

相关文章:

  • vue 基础
  • 使用axios下载后端接口返回的文件流格式文件
  • 在macOS上使用Homebrew安装PHP的完整指南
  • 图片处理OpenCV IMDecode模式说明【生产问题处理】
  • 吹响AI技术应用的号角
  • C //例10.1 从键盘输入一些字符,逐个把它们送到磁盘上去,直到用户输入一个“#”为止。
  • ARM预取侧信道(Prefetcher Side Channels)攻击与防御
  • 数据结构 | 二叉树的各种遍历
  • Python-赋值运算符(详解)
  • 算法工程师面试八股(搜广推方向)
  • 学习TypeScrip4(数组类型)
  • Python文件打包成exe可执行文件
  • Android : SQLite 增删改查—简单应用
  • 【蓝桥杯】马的遍历
  • 导入JSON到xmind
  • DataGrip 2023.2.3(IDE数据库开发)
  • 身为 Go 程序员,我为啥更喜欢用 Zig?
  • Amazon CodeWhisperer 使用体验
  • 公众号留言功能怎么申请?
  • 探索三种生成模型:基于DDPMs、NCSNs和SDEs方法的Diffusion
  • Linux随记(七)
  • RESTful API,以及如何使用它构建 web 应用程序。
  • 【华为OD题库-075】拼接URL-Java
  • 【Unity动画】为一个动画片段添加事件Events
  • CoDeF视频处理——视频风格转化部署使用与源码解析
  • ubuntu server 20.04 备份和恢复 系统 LTS
  • NFC对物联网开发的影响及用途
  • 企业级SQL开发:如何审核发布到生产环境的SQL性能
  • linux 手动安装移植 haveged,解决随机数初始化慢的问题
  • 如何使用llm 制作多模态