js 将多层json对象 转化为一层json
const parse = data => {
const uid = `uid_${Date.now()}`;
const process = (input, prefix = '', json = {}) => {
Object.keys(input).forEach(key => {
const val = input[key];
if (!json.hasOwnProperty(`${prefix}${key}.`)) {
json[`${prefix}${key}.`] = uid;
}
if ('object' === typeof val && !Array.isArray(val) && !!val) {
process(val, `${prefix}${key}.`, json);
}
else {
json[`${prefix}${key}.`] = val;
}
});
return json;
};
const json = process(data);
const result = {};
Object.keys(json).forEach(key => {
if (json[key] !== uid) {
result[key.slice(0, -1)] = json[key];
}
});
return result;
};
js 将多层json对象 转化为一层json的更多相关文章
- js 根本没有“JSON对象”这回事! JSON对象——转
前言 写这篇文章的目的是经常看到开发人员说:把字符串转化为JSON对象,把JSON对象转化成字符串等类似的话题,所以把之前收藏的一篇老外的文章整理翻译了一下,供大家讨论,如有错误,请大家指出,多谢. ...
- json对象转字符串与json字符串转对象
1.概述: 我们在编程时进场会遇到json对象转字符串,或者字符串转对象的情况. 2.解决办法: json.parse()方法是将json字符串转成json对象. json.stringfy()方法是 ...
- js中 给json对象添加属性和json数组添加元素
js中 给json对象添加新的属性 比如现在有一个json对象为jsonObj,需要给这个对象添加新的属性newParam,同时给newParam赋值为pre.做法如下: var obj={ &quo ...
- 将JSON对象转化为数组对象
package web.helper; import java.util.ArrayList; import net.sf.json.JSONArray; import web.model.Abstr ...
- json对象的操作,json工具
项目中经常用到json,现在把写了几个js函数,用来获取json对象或者json字符串的长度,以及获取其的key值,value值,并且返回. 这样以后可以直接拿来用,可以省去不少麻烦,也方便以后查看. ...
- js中多层复杂并且动态键值JSON的获取方法
开发中遇到了用js解析重新组装json数据的要求,关键点在于JSON中的串的键是动态的,多方查找解决了在此做个记录.同时我也深感js中循环的无赖,如果用i作为键会得到索引,用key作为循环变量竟然可以 ...
- js数值使用及数组转json,转化后的json传入后台解析
var storeArray=new Array(); $("input[name='storeid']").each(function(i){ var curStoreObj = ...
- sqlachemy查询对象转化成字典/json使用
https://www.cnblogs.com/sanduzxcvbnm/p/10220718.html
- json中把非json格式的字符串转换成json对象再转换成json字符串
JSON.toJson(str).toString()假如key和value都是整数的时候,先转换成jsonObject对象,再转换成json字符串
- 根据json对象的值替换json数组里的值
功能: var fruitArry=[{name:'durian'},{name:'peach'},{name:'banana'},{name:'pitaya'},{name:'apple'},{na ...
随机推荐
- ERA-Interim 的变量TCW和VIWV可降水量
可降水量(Precipitable water) 气象上有一个名词"可降水量"(Precipitable water),可以用来衡量大气的水含量. 其公式为 \(W=\frac{1 ...
- 简易舰c远征计时器(HTML)
有时候项目闲下来想休息的时候会跑跑舰c远征,但计时比较麻烦. 所以每个现场都会写那么几个工具.以前是vba的,这次写了个HTML的,感觉还算易用就仍上来了.省得以后换现场还得再写. 纯粹是偷懒时做的, ...
- Linux系统修改静态ip
查看所有网卡 ip信息 ipconfig 修改网卡文件 vim /etc/sysconfig/network-scripts/ifcfg-eno1(网卡名) 新增语句 IPADDR=192.168.1 ...
- 安装.msi格式安装包
msi格式的文件,点右键后,没有"以管理员身份运行"的菜单项,直接运行.msi文件报错:"There is a problem with this Windows Ins ...
- centos7 python设置虚拟环境
virtualenv 是一个可以在同一计算机中隔离多个python版本的工具.有时,两个不同的项目可能需要不同版本的python,如 python2.6.6 / python3.0 ,但是如果都装到一 ...
- D2-Net: Weakly-Supervised Action Localization via Discriminative Embeddings and Denoised Activations概述
1.针对的问题 目前大多数弱监督动作定位方法通常依赖于分离前景和背景区域(前-背景分离)学习TCAMs,但是在弱监督设置下,学习到的TCAM会存在噪声,而这些方法并没有明确地处理其噪声输出. 2.主要 ...
- Hide-and-Seek: Forcing a Network to be Meticulous for Weakly-Supervised Object and Action Localization概述
0.前言 相关资料: paper 网站 论文解读(知乎,CSDN) 论文基本信息: 领域:弱监督动作定位 发表时间:ICCV2017 1.针对的问题 大多数网络只识别图像最具有鉴别力的部分,不是所有相 ...
- 时钟频率(HZ)与数据传输速率(bit/s)的关系-转载
(24条消息) 时钟频率(HZ)与数据传输速率(bit/s)的关系_子曰小玖的博客-CSDN博客_速率和频率的关系 时钟频率(HZ)与数据传输速率(bit/s)两者是相同的概念.举例:IIC传输位速率 ...
- uni-app 下载文件 预览 + 保存自定义目录
作为使用uni-app的小白来说 尝试了好几种方法 终于得到了我想要的效果(如下) 1.点击下载按钮(文件 或者图片) 2.预览 :用户自定义选择查看的软件(图片在手机相册 文件用其他打开预览) ...
- Feign熔断
在Feign中使用 @EnableFeignClients中已经默认打开了断路器功能,所以这里的启动类上不需要再加@EnableCircuitBreaker注解 只需要在@FeignClient中为f ...