修改后台传过来的json数据中对象的属性
前言
今天在实习中遇到的一个小问题,后端传过来的一个json数据结构,但是对象中的属性名跟我需要的不一样(因为我是渲染echarts中的数据,属性名要一样)
这是后台传过来的数据:

需求是我需要把属性名val改成value
代码
const t = ["id", "name", "type", "value"]
let newArr = []
data.forEach((item) => { //后台来的数据
let newObj = {};
for (var i = 0; i < t.length; i++) {
console.log(Object.keys(item)[i])
newObj[t[i]] = item[Object.keys(item)[i]]
}
newArr.push(newObj)
})
console.log(newArr)
其实就是使用object,keys去进行转换,结果:

后来查资料发现了更有效率的方法(不像我这种暴力方法),在这里也分享给大家
代码
如果你是一维数组,只需要这样
function copyTransFun(data) {
data.forEach((item, value) => {
if (item.val) {
item.value= item.val;
delete item.val;
}
});
}
copyTransFun(data) //data为后台数据
如果你是二维数组,你可以加入递归,如udata是一个二维数组对象
if (item.udata) {
item.children = item.udata;
delete item.userList;
if (item.children.length) {
this.copyTransFun(item.children);
}
}
修改后台传过来的json数据中对象的属性的更多相关文章
- JS 取Json数据中对象特定属性值
解析JSON JSON 数据 var str = '[{"a": "1","b": "2"}, {"a&quo ...
- Echart实现多个y轴,坐标轴的个数及名称由后台传过来的json数据决定。
yAxis: function(){ var yAxis=[]; for(var i=0;i<legend1.length;i++){ var item={ name:legend1[i], t ...
- ECharts动态获取后台传过来的json数据进行多个折线图的显示,折线的数据由后台传过来
ECharts 多个折线图动态获取json数据 效果图如下: 一.html部分 <p id="TwoLineChart" style="width:100%; he ...
- 根据json数据中某一个属性 处理数组重组的方法 (二种)
需求:根据role 的不同分组 渲染页面 进行后期操作 后台返回数据: 因为后台返回的json数据不是我们想要的 所以就得自己来了~ 要啥样整啥样 js: 第一种处理方法 使用方法: 1: th ...
- 处理后台传过来的json数据-显示到微信小程序的富文本里
解析数据: JSON.parse(); 获取 加密的文章内容, 将解密文章内容, 将解密后的img标签的路径换成绝对地址(服务器) 调整图片的大小,
- SpringMVC中出现" 400 Bad Request "错误(用@ResponseBody处理ajax传过来的json数据转成bean)的解决方法
最近angularjs post到后台 400一头雾水 没有任何错误. 最后发现好文,感谢作者 SpringMVC中出现" 400 Bad Request "错误(用@Respon ...
- 解决ajax的parsererror错误的终极办法(后台传给前台的数据json问题)
解决ajax的parsererror错误的终极办法(后台传给前台的数据json问题) 出现这个问题的原因是因为后台传给前台的数据出现了问题,ajax对于json的格式特别的严格 下面是会出现这个问题的 ...
- js如何解析后台传过来的json字符串
1.js如何解析后台传过来的json字符串? 注意:js是无法直接接收和使用json或者Php的数据,用的话会出现undefined,所以要转换一下. 方式一: var str = '{"r ...
- ajax请求传过来的json数据直接转成对应的实体类时出错:400 Bad Request 不进入controller
今天开发过程中,在SpringMVC中的Action中处理前台ajax请求传过来的json数据直接转成对应的实体类时出错:400 Bad Request,后台也不报错,400指的的是请求无效(请求有语 ...
随机推荐
- 关于我学git这档子事
创建本地分支并切换到该分支 git checkout -b *** 相当于如下2个命令: git branch *** git checkout *** 推送本地开发分支到远程开发分支 git pus ...
- Kafka 消费者解析
一.消费者相关概念 1.1 消费组&消费者 消费者: 消费者从订阅的主题消费消息,消费消息的偏移量保存在Kafka的名字是__consumer_offsets的主题中 消费者还可以将⾃⼰的偏移 ...
- 代码模板整理(0):先水一波a+b
梦开始的地方 "Hello World!" #include<bits/stdc++.h> using namespace std; int main(){ cout& ...
- .NET C#基础(2):方法修饰符 - 给方法叠buff
0. 文章目的 本文面向有一定.NET C#基础知识的学习者,介绍C#中的方法修饰符的含义和使用以及注意事项. 1. 阅读基础 理解C#基本语法(如方法声明) 理解OOP基本概念(如多 ...
- C++ 智能指针浅析
C++ 智能指针浅析 为了解决 C++ 中内存管理这个老大难问题,C++ 11 中提供了三种可用的智能指针.(早期标准库中还存在一种 auto_ptr,但由于设计上的缺陷,已经被 unique_ptr ...
- 在Visual Studio 2019中使用scanf报错C4996解决办法
错误警告信息 错误C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To ...
- 【Redis】skiplist跳跃表
有序集合Sorted Set zadd zadd用于向集合中添加元素并且可以设置分值,比如添加三门编程语言,分值分别为1.2.3: 127.0.0.1:6379> zadd language 1 ...
- 【Redis】客观下线
在sentinelHandleRedisInstance函数中,如果是主节点,需要做如下处理: void sentinelHandleRedisInstance(sentinelRedisInstan ...
- TypeScript(6)函数
函数 函数是 JavaScript 应用程序的基础,它帮助你实现抽象层,模拟类,信息隐藏和模块.在 TypeScript 里,虽然已经支持类,命名空间和模块,但函数仍然是主要的定义行为的地方.Type ...
- python 连接SAP 代码
def Main(): sap_app = r"C:\Program Files (x86)\SAP\FrontEnd\SAPgui\saplogon.exe" subproces ...