首页 > 其他分享 >js实现替换对象(json)格式的键名

js实现替换对象(json)格式的键名

时间:2023-02-01 19:33:13浏览次数:46  
标签:stringify obj 键名 title JSON js json name

某些场景下,我们拿到的键名与预期的键名不符,这个时候就需要替换键名来得到我们想要的内容

let obj = [
  {
     id:1,
     title:'zs'
  },
  {
     id:2,
     title:'ls'
  }
];

// 但是我们实际想要的效果是: {id:1,name:'zs'}
// 此时可以把对象转为string 然后使用字符串方法替换
console.log(JSON.stringify(obj ).replace('title','name'))

输出结果:在这里插入图片描述



第一个对象的键名已经更改了,但是你会发现,只更改了一个对象的键名,如果想要批量更改对象键名的需要使用 / /g 语法
console.log(JSON.stringify(obj).replace(/title/g,'name'))

输出结果:
在这里插入图片描述



转换完后使用JSON.parse转换成对象即可
完整语法:

console.log(JSON.parse(JSON.stringify(obj).replace(/title/g,'name')))

在这里插入图片描述


ES6提供的新语法replaceAll
replaceAll可以直接匹配并替换所有符合条件的字符串

console.log(JSON.parse(JSON.stringify(obj).replaceAll('title','name')))

标签:stringify,obj,键名,title,JSON,js,json,name
From: https://www.cnblogs.com/wang-fan-w/p/17083957.html

相关文章

  • js防抖函数
    1、使用场景:例如:搜索框搜索输入。只需用户最后一次输入完,再发送请求2、函数防抖的要点:需要一个 setTimeout 来辅助实现,延迟运行需要执行的代码。如果该方法多......
  • 关于node.js
    浏览器是JavaScript的前端运行环境。Node.js是JavaScript的后端运行环境。Node.js中无法调用DOM和BOM等浏览器内置API。基于Express框架(http://www.expres......
  • 【Frida】调试js代码
    方法一attach启动js代码动态注入app,app需要保持运行状态#coding:utf-8importsysimportfridaapp_name="猿人学APP"#app的名字js_file_path="./demo.js"#......
  • json .net 反序列化
    引用链接https://www.cnblogs.com/nice0e3/p/15294585.html#%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E6%94%BB%E5%87%BBhttps://www.anquanke.com/post/id/172920#h3-3j......
  • 书城9 - 前后端 json 数据的交互
    解析请求中的json数据,返回json数据1.加入Gson.jar包2.通过输入流读取数据,使用Gson对象解析字符串protectedvoidrequestBodyJSON(HttpServletRequestrequ......
  • 2023年JS学习记录
    2023/1/30星期一https://blog.csdn.net/Augenstern_QXL/article/details/119249534短路运算(逻辑中断)短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时......
  • 数据交换格式JSON和xml
    数据交换格式,就是服务器端与客户端之间进行数据传输与交换的格式前端领域,经常提及的两种数据交换格式分别是XML和JSON。其中XML用的非常少,所以,我们重点要学习的数据......
  • JSTL常用标签choose和foreach常用标签
    JSTL的常用标签choosechoose相当于java代码中的switch语句完成数字编号对应星期几案例1、域中存储数字2、使用choose标签取出数字 相当于switch声明......
  • nodejs 版本管理器 nvm
    安装过程C:\Users\GSGK\AppData\Roaming\nvm下载地址:https://github.com/coreybutler/nvm-windows/releasesnvm-setup.zip解压后,双击exe进行安装nvm-setup.exe验证......
  • JSTL概述和JSTL常用标签if
    JSTL概述1.概念:JavaServlet Pages Tag Library(JSP标准标签库)是由Apache组织提供的开源的免费的jsp标签<标签>2.作用:用于简化和替换jsp页面......