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

#Js篇:JSON.stringify 和 JSON.parse用法和传参

JSON.stringify 和 JSON.parse

1. JSON.stringify

JSON.stringify 方法将一个 JavaScript 对象或数组转换为 JSON 字符串。

基本用法

const obj = { name: "Alice", age: 25 };
const jsonString = JSON.stringify(obj);
console.log(jsonString); // 输出: {"name":"Alice","age":25}
参数

value: 要转换的对象或数组。
replacer (可选): 一个函数或数组,用于控制哪些属性会被序列化到字符串中。
space (可选): 用于控制缩进的字符串或数字,使输出更易读。
使用 replacer 函数

const obj = { name: "Alice", age: 25, city: "New York" };
const jsonString = JSON.stringify(obj, function(key, value) {if (key === 'city') return undefined; // 排除 city 属性return value;
});
console.log(jsonString); // 输出: {"name":"Alice","age":25}
使用 space 参数
javascript
const obj = { name: "Alice", age: 25 };
const jsonString = JSON.stringify(obj, null, 2);
console.log(jsonString);
// 输出:
// {
//   "name": "Alice",
//   "age": 25
// }

2. JSON.parse

JSON.parse 方法将一个 JSON 字符串解析为 JavaScript 对象或数组。

基本用法

const jsonString = '{"name":"Alice","age":25}';
const obj = JSON.parse(jsonString);
console.log(obj); // 输出: { name: 'Alice', age: 25 }
参数

text: 要解析的 JSON 字符串。
reviver (可选): 一个函数,用于在返回之前对每个键值对进行处理。
使用 reviver 函数

const jsonString = '{"name":"Alice","age":25,"birthDate":"1998-03-14"}';
const obj = JSON.parse(jsonString, function(key, value) {if (key === 'birthDate') return new Date(value); // 将 birthDate 转换为日期对象return value;
});
console.log(obj.birthDate instanceof Date); // 输出: true

总结

JSON.stringify 用于将 JavaScript 对象或数组转换为 JSON 字符串。
JSON.parse 用于将 JSON 字符串解析为 JavaScript 对象或数组。
这两个方法都支持额外的参数来定制其行为,如 replacer 和 reviver 函数,以及 space 参数。

相关文章:

#Js篇:JSON.stringify 和 JSON.parse用法和传参

JSON.stringify 和 JSON.parse 1. JSON.stringify JSON.stringify 方法将一个 JavaScript 对象或数组转换为 JSON 字符串。 基本用法 const obj { name: "Alice", age: 25 }; const jsonString JSON.stringify(obj); console.log(jsonString); // 输出: {"…...

c#通过网上AI大模型实现对话功能

目录 基础使用给大模型额外提供函数能力用Microsoft.Extensions.AI库实现用json格式回答 基础使用 https://siliconflow.cn/网站有些免费的大模型可以使用,去注册个账户,拿到apikey 引用 nuget Microsoft.Extensions.AI.OpenAI using Microsoft.Extensi…...

pymysql模块

1.pymysql基本使用 打开数据库连接,使用cursor()方法获取操作游标执行SQL语句 获取命令执行的查询结果 1.1 打开数据库连接 # 打开数据库连接 db pymysql.connect(host127.0.0.1,userroot,port3306,password"123",databasedb5) 1.2 使用cursor()方法获取操作游…...

WPF-模板和样式

在 WPF(Windows Presentation Foundation)中,模板是一种强大的机制,用于定义控件的外观。它允许你将控件的逻辑(功能)和外观(UI)分离开来。例如,一个按钮控件&#xff0c…...

网络编程 day1.2~day2——TCP和UDP的通信基础(TCP)

笔记脑图 作业&#xff1a; 1、将虚拟机调整到桥接模式联网。 2、TCP客户端服务器实现一遍。 服务器 #include <stdio.h> #include <string.h> #include <myhead.h> #define IP "192.168.60.44" #define PORT 6666 #define BACKLOG 20 int mai…...

element ui table 每行不同状态

table 每行定义值 tableData: [ { name: ,type:,location:, ziduan:,createtype:,ziduanvalue:,checkAll:true,checkedCities: [空, null, str随机, int随机],isIndeterminate: true,table_id:single,downloaddisabled:true,deldisabled:true} ], table c…...

力扣--LRC 142.训练计划IV

题目 给定两个以 有序链表 形式记录的训练计划 l1、l2&#xff0c;分别记录了两套核心肌群训练项目编号&#xff0c;请合并这两个训练计划&#xff0c;按训练项目编号 升序 记录于链表并返回。 注意&#xff1a;新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&am…...

windows下,用CMake编译qt项目,出现错误By not providing “FindQt5.cmake“...

开发环境&#xff1a;windows10 qt5.14&#xff0c; 编译器msvc2017x64&#xff0c;CMake3.30&#xff1b; 现象&#xff1a; CMakeList文件里&#xff0c;如有find_package(Qt5 COMPONENTS Widgets REQUIRED) target_link_libraries(dis_lib PRIVATE Qt5::Widgets) 用CMak…...

【element-tiptap】Tiptap编辑器核心概念----结构篇

core-concepts 前言&#xff1a;这篇文章来介绍一下 Tiptap 编辑器的一些核心概念 &#xff08;一&#xff09;结构 1、 Schemas 定义文档组成方式。一个文档就是标题、段落以及其他的节点组成的一棵树。 每一个 ProseMirror 的文档都有一个与之相关联的 schema&#xff0c;…...

半导体工艺与制造篇3 离子注入

离子注入工艺 一般掺杂的杂质类别&#xff0c;包括:提供载流子的施主杂质和受主杂质;产生复合中心的重金属杂质 离子注入往往需要生成井well&#xff0c;其中井的定义&#xff1a;晶圆与杂质之间形成的扩散层或杂质与杂质之间形成的扩散层 离子注入的目的&#xff1a;用掺杂改…...

利用开源的低代码表单设计器FcDesigner高效管理和渲染复杂表单结构

FcDesigner 是一个强大的开源低代码表单设计器组件&#xff0c;支持快速拖拽生成表单。提供丰富的自定义及扩展功能&#xff0c;FcDesigner支持多语言环境&#xff0c;并允许开发者进行二次开发。通过将表单设计输出为JSON格式&#xff0c;再通过渲染器进行加载&#xff0c;实现…...

淘宝 NPM 镜像源

npm i vant/weapp -S --production npm config set registry https://registry.npmmirror.com 要在淘宝 NPM 镜像站下载项目或依赖&#xff0c;你可以按照以下步骤操作&#xff1a; 1. 设置淘宝 NPM 镜像源 首先&#xff0c;你需要设置淘宝 NPM 镜像源以加速下载。可以通过…...

i春秋-GetFlag(md5加密,字符串比较绕过)

练习平台地址 竞赛中心 题目描述 题目内容 你好&#xff0c;单身狗&#xff0c;这是一个迷你文件管理器&#xff0c;你可以登录和下载文件&#xff0c;甚至得到旗帜 点击登录 发现capture需要满足条件substr(md5(captcha), 0, 6)xxxxxx 编写python脚本破解验证码 import has…...

SpringBoot中设置超时30分钟自动删除元素的List和Map

简介 在 Spring Boot 中&#xff0c;你可以使用多种方法来实现自动删除超时元素的 List 或 Map。以下是两种常见的方式&#xff1a; 如果你需要简单的功能并且不介意引入外部依赖&#xff0c;可以选择 Guava Cache。如果你想要更灵活的控制&#xff0c;使用 Spring 的调度功能…...

入门车载以太网(6) -- XCP on Ethernet

目录 1.寻址方式 2.数据帧格式 3.特殊指令 4.使用实例 了解了SOME/IP之后&#xff0c;继续来看看车载以太网在汽车标定领域的应用。 在汽车标定领域XCP是非常重要的协议&#xff0c;咱们先来回顾下基础概念。 XCP全称Universal Measurement and Calibration Protocol&a…...

DAY4 网络编程(广播和多线程并发)

作业1&#xff1a; 1、将广播发送和接收端实现一遍&#xff0c;完成一个发送端发送信息&#xff0c;对应多个接收端接收信息实验。 send.c代码&#xff1a; #include <myhead.h> #define IP "192.168.61.255"//广播IP #define PORT 7777 int main(int argc, …...

C++个人复习(4)

C中为什么要引入make_shared,它有什么优点 1. 减少内存分配次数 使用 make_shared 时&#xff0c;内存分配只发生一次&#xff0c;它同时分配了对象和控制块&#xff08;用于管理引用计数等信息&#xff09;。而如果直接使用 new 创建对象并传递给 shared_ptr&#xff0c;则会…...

Dockerhub镜像加速

一、背景 dockerhub由于被封锁和站点处于国外的原因&#xff0c;docker pull拉取镜像非常慢&#xff0c;有时候直接都无法拉取。严重妨碍了我们的学习进度以及日常使用。 总结了一些proxy代理的镜像站点&#xff0c;配置之后速度会有明显提升&#xff0c;大家可以参考使用。 二…...

11.20讲座笔记

信息门户 -------- 人才培养方案&#xff08;重要&#xff09; 结构化矛盾------需求方&#xff08;企业&#xff09; ------供给方&#xff08;高校&#xff09; 电子方向职业 -------- 基建、基础算力 -------中国 1st &#xff08;已经相对完善饱和&#xff09; 网…...

网络协议之UDP

一、UDP协议定义 UDP&#xff08;User Datagram Protocol&#xff0c;用户数据报协议&#xff09;是一种面向无连接的、不可靠的、基于数据报的传输层通信协议。UDP在传输数据时不需要建立连接&#xff0c;直接将数据包发送出去。这种特性使得UDP在实时性要求较高的应用场景中…...

StructBERT情感分类镜像实操手册:supervisorctl服务管理教程

StructBERT情感分类镜像实操手册&#xff1a;supervisorctl服务管理教程 1. 快速了解StructBERT情感分类 StructBERT情感分类模型是一个专门针对中文文本情感分析的工具&#xff0c;基于阿里达摩院的StructBERT预训练模型进行微调。它能快速准确地判断一段中文文字表达的是积…...

OpenClaw人人养虾:桥接协议

桥接协议&#xff08;Bridge Protocol&#xff09;允许多个 Gateway 实例之间建立通信通道&#xff0c;实现跨网关的模型共享、会话转移和负载分担。概述┌──────────────┐ Bridge Protocol ┌──────────────┐ │ Gateway A │ ◀───…...

Git-RSCLIP快速入门:基于1000万图文对训练的遥感AI模型实测

Git-RSCLIP快速入门&#xff1a;基于1000万图文对训练的遥感AI模型实测 1. 模型概述&#xff1a;专为遥感场景打造的智能助手 Git-RSCLIP是北京航空航天大学团队基于SigLIP架构专门开发的遥感图像理解模型。这个模型最特别之处在于它使用了Git-10M数据集进行训练——这是一个…...

ESP8266与STM32F103通信实战:从硬件连接到软件调试的完整解析

1. ESP8266与STM32F103通信基础 搞物联网开发的朋友应该都听说过ESP8266这个神器&#xff0c;它就像给传统单片机装上了Wi-Fi翅膀。我最早用STM32F103做项目时&#xff0c;为了联网功能折腾了好久&#xff0c;直到发现ESP-01S模块这个性价比之王。今天我就把这两者的通信实战经…...

7个核心价值点:Python学习路径与实战案例深度解析

7个核心价值点&#xff1a;Python学习路径与实战案例深度解析 【免费下载链接】Python-100-Days Python - 100天从新手到大师 项目地址: https://gitcode.com/GitHub_Trending/py/Python-100-Days Python作为一门多用途编程语言&#xff0c;在数据分析、Web开发、人工智…...

Node.js环境下的实时口罩检测API开发与部署教程

Node.js环境下的实时口罩检测API开发与部署教程 1. 引言 在当今的智能化场景中&#xff0c;实时口罩检测技术已经成为许多公共场所和企业的必备功能。无论是商场入口、办公大楼还是公共交通场所&#xff0c;快速准确地检测人员是否佩戴口罩都显得尤为重要。 本教程将手把手教…...

Vue——Vue 3动态表单配置实战:打造灵活的在线问卷系统

写在前面 最近在开发一个内部管理系统时&#xff0c;遇到了一个很有意思的需求&#xff1a;需要实现一个支持动态配置的表单功能&#xff0c;用户可以自定义题目类型、选项内容&#xff0c;还要支持附件上传和时间范围控制。 说实话&#xff0c;这个需求刚开始让我有点头大。动…...

深入解析XSpiPs_PolledTransfer与XSpiPs_Transfer的片选信号行为差异

1. 从波形图看片选信号的关键差异 第一次用逻辑分析仪抓取SPI波形时&#xff0c;我被XSpiPs_PolledTransfer和XSpiPs_Transfer的片选信号差异惊到了。同样是发送两个字节的数据&#xff0c;前者像老式电报机一样稳定保持CS低电平&#xff0c;后者却像发摩尔斯电码似地频繁跳变。…...

企业级微软产品激活管理:KMS_VL_ALL_AIO的技术实践与战略价值

企业级微软产品激活管理&#xff1a;KMS_VL_ALL_AIO的技术实践与战略价值 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 1. 企业激活困境与破局思路 核心价值&#xff1a;揭示企业在软件激活管…...

3秒极速解锁:高效智能的百度网盘提取码获取工具实战指南

3秒极速解锁&#xff1a;高效智能的百度网盘提取码获取工具实战指南 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 在数字资源分享日益频繁的今天&#xff0c;百度网盘提取码智能获取工具baidupankey通过创新的技术架构和优化…...