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 ...
随机推荐
- Json数组形式的字符串转为Map数组、Map集合的几种遍历方式
// Json数组形式的字符串转为Map数组 String strArr = "[{"name": "xx", "age": &q ...
- python pip的使用
1.导出安装包 pip freeze > requirements.txt 2.安装requirements.txt文件中指定的扩展库:pip install -r requirement.tx ...
- 安装TortoiseSVN. msi 报错 2503 2502错误
tortoisegit下载地址 https://tortoisegit.org/download/ [错误现象] 安装TortoiseSVN. msi 报错 2503 2502错误 [错误原因] 没有 ...
- C++11 mutex unique_lock condition_variable 互斥锁 条件变量
创建项目再进行测试比较麻烦,可以使用这个在线编译器进行验证,快速方便 C++11在线编译器 mutex是互斥锁,互斥量 condition_variable是条件变量 std::mutex m; vo ...
- 95、linux安装es
参考大佬文章 https://blog.csdn.net/b13001216978/article/details/110817204 1.由于elasticsearch7.4.0需要jdk11支持, ...
- 有一个按钮,点击后就发起一次请求,我现在要限制每2S只能发起一次请求,怎么办?
1.防抖/节流方案2.临时变量记录最后发起请求的时间,点击时对比时间差的方案
- Spring Security 自定义认证逻辑
Spring Security 自定义认证逻辑 这篇文章的内容基于对Spring Security 认证流程的理解,如果你不了解,可以读一下这篇文章:Spring Security 认证流程 . 分析 ...
- python打开Excel中指定的sheet表
一个Excel中有多个sheet的时候,你在第几个sheet保存关闭的,那下次打开就在原来的那个表的位置,所以有时候你想--在打开一个Excel的时候指定到其中的一个sheet表,那么使用第三方库xl ...
- G6-Editor 编辑器入门使用教程
一.前言 G6-Editor 是 AntV 官方提供的.专注于图可视化编辑器的类库,也是市面上完成度较高的图可视化编辑器.然而令人诟病的是其文档对新手极度不友好,我一度怀疑此文档只有他们自己开发人员才 ...
- Windows日常快捷键
Windows: 环境变量: Win+R,--> sysdm.cpl 计算器: Win+R,-->calc 服务:Win+R,-->services.msc 远程:Win+R,--& ...