Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >给定一个json字符串,将嵌套的json字符串转换为键值对,其中键是元素层次结构的名称,并附加“_”

给定一个json字符串,将嵌套的json字符串转换为键值对,其中键是元素层次结构的名称,并附加“_”
EN

Stack Overflow用户
提问于 2021-02-03 17:58:31
回答 1查看 16关注 0票数 0

给定一个json字符串,将嵌套的json字符串转换为键值对,其中键是元素层次结构的名称,并附加“_”。

代码语言:javascript
运行
AI代码解释
复制
{
  "person": {
    "id": 1,
    "name": {
      "first": "John",
      "middle": "H",
      "last": "Doe"
    },
    "address": {
      "home": {
        "line1": "test address line 1",
        "line2": "test address line 1"
      }
    }
  }
}
代码语言:javascript
运行
AI代码解释
复制
Output: 
[
  "person_id"= 1,
  "person_name_first"="John",
  "person_name_middle"= "H",
  "person_name_last"= "Doe",
  "person_address_home_line1"="test address line 1",
  "person_address_home_line2"="test address line 1"
]
EN

回答 1

Stack Overflow用户

发布于 2021-02-03 18:49:00

您可以递归地查找每个键并生成您的对象。

代码语言:javascript
运行
AI代码解释
复制
const obj = { "person": { "id": 1, "name": { "first": "John", "middle": "H", "last": "Doe" }, "address": { "home": { "line1": "test address line 1", "line2": "test address line 1" } } } };
const generatePaths = (obj, prefix = "") => {
  let o = {};
  Object.entries(obj).forEach(([k, v]) => {
     const key = prefix ? prefix + '_' + k : k;
     if(typeof v === 'object' && !!v){
        const par = generatePaths(v, key);
        o = {...o, ...par};
     } else {
      o[key] = v;
     }
  });
  return o;
}
console.log(generatePaths(obj));

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66033088

复制
相关文章
mysql过滤表中重复数据,查询表中相同数据的最新一条数据
先对表按照时间desc排序,在查询该层使用group by 语句,它会按照分组将你排过序的数据的第一条取出来
安德玛
2022/03/09
5.7K0
Matlab中弧度转角度、角度转弧度
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148429.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/02
1.6K0
Matlab中弧度转角度、角度转弧度
latex中的希腊字母表在哪里_表示角度的希腊字母
在写论文的过程中,编辑公式部分会有一些希腊字母需要用LaTeX形式,将其汇总如下,方便查阅。
全栈程序员站长
2022/11/07
9000
分享JavaWeb中filter过滤器的案例妙用 - 脏话过滤/编码过滤/代码过滤
案例3. 利用Servlet的过滤器Filter进行完成字符编码过滤(Get及Post方式)
杨校
2018/12/06
1.7K0
vue中的过滤器
  Vue.js 允许你自定义过滤器,可被用于一些常见的文本格式化。过滤器可以用在两个地方:
IT人一直在路上
2019/09/18
1.1K0
vue中的过滤器
python中的过滤函数 filter()
new_list = list(filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8]))
用户7886150
2021/01/24
1K0
shiro中的过滤器
shiro框架内置了10个过滤器 常见的如下 anon :有的资源(页面和方法)不登录也可以访问,那么这些资源我们可以配置成anon过滤器 authc:有的资源必须登录后才能访问,那么这些资源我们可以配置成authc过滤器 perms[“添加文章”] :这个资源必须当前登录人有“企业管理”权限才能访问 过滤器简称 相对应的java类 anon org.apache.shiro.web.filter.authc.AnonymousFilter authc org.apache.shi
用户9006224
2022/12/21
9070
Jackson 动态过滤属性,编程式过滤对象中的属性
场景:有时候我们做系统的时候,比如两个请求,返回同一个对象,但是需要的返回字段并不相同。
全栈程序员站长
2022/07/20
4.7K0
JavaScript中的过滤器(filter)
filter()方法会创建一个新数组,原数组的每个元素传入回调函数中,回调函数中有return返回值,若返回值为true,这个元素保存到新数组中;若返回值为false,则该元素不保存到新数组中;原数组不发生改变。
刘亦枫
2020/03/19
3.4K0
SpringBoot中过滤器的使用
Filter 过滤器这个概念应该大家不会陌生,特别是对与从 Servlet 开始入门学 Java 后台的同学来说。那么这个东西我们能做什么呢?Filter 过滤器主要是用来过滤用户请求的,它允许我们对用户请求进行前置处理和后置处理,比如实现 URL 级别的权限控制、过滤非法请求等等。Filter 过滤器是面向切面编程——AOP 的具体实现(AOP切面编程只是一种编程思想而已)。 另外,Filter 是依赖于 Servlet 容器,Filter接口就在 Servlet 包下面,属于 Servlet 规范的一部分。所以,很多时候我们也称其为“增强版 Servlet”。 如果我们需要自定义 Filter 的话非常简单,只需要实现 javax.Servlet.Filter 接口,然后重写里面的 3 个方法即可! Filter.java
一只胡说八道的猴子
2021/04/16
1.5K0
Python中过滤HTML标签的函数
#用正则简单过滤html的<>标签 import re str = "<img /><a>srcd</a>hello</br><br/>" str = re.sub(r'</?\w+[^>]*>','
hankleo
2020/09/17
2.7K0
JavaRestClient操作Elasticsearch中的source过滤
默认情况下,索引库中所有数据都会返回,如果我们想只返回部分字段,可以通过source filter来控制
用户9006224
2022/12/21
4860
从真值表角度分析与消除竞争冒险
在组合逻辑中,由于门的输入信号经过了不同的延时,导致到达该门的时间不一致叫竞争,产生的毛刺叫冒险,如果布尔式中有相反的信号则可能产生竞争和冒险。
根究FPGA
2020/06/30
2.1K0
从真值表角度分析与消除竞争冒险
从源码的角度再看 React JS 中的 setState
在上一篇手记「深入理解 React JS 中的 setState」中,我们简单地理解了 React 中 setState “诡异”表现的原因。 在这一篇文章中,我们从源码的角度再次理解下 setState 的更新机制,供深入研究学习之用。 源码的部分为了保证格式显示正常就截图了,查看源码点击对应的链接直接跳转至 GitHub 查看即可。 1. React 中的 setState 更新逻辑代码 在更新逻辑的部分,可以看到 React 会通过 判断当前的逻辑状态下是否需要进行批量更新。 如果不是,那么就直接进
企鹅号小编
2018/01/22
2.3K0
从源码的角度再看 React JS 中的 setState
Flutter 绘制番外篇 - 数学中的角度知识
对一些有趣的绘制技能和知识, 我会通过 [番外篇] 的形式加入《Flutter 绘制指南 - 妙笔生花》小册中,一方面保证小册的“与时俱进” 和 “活力”。另一方面,是为了让一些重要的知识有个 好的归宿。普通文章就像昙花一现,不管多美丽,终会被时间泯灭。
张风捷特烈
2022/03/18
8140
Flutter 绘制番外篇 - 数学中的角度知识
hive删除表和表中的数据
hive删除表和表中的数据,以及按分区删除数据 hive删除表: drop table table_name; hive删除表中数据: truncate table table_name; hive按分区删除数据: alter table table_name drop partition (partition_name='分区名')
机器学习和大数据挖掘
2019/07/01
8.8K0
从源码的角度分析mybatis的核心流程(中)
上一篇学习的是mybatis核心流程中的初始化的过程,初始化其实就是将xml里面的内容解析到configuration对象中。这里接着上面流程继续学习mybatis的核心流程中的代理阶段和数据读写阶段,mybatis三大核心流程如下图所示
全栈程序员站长
2022/07/04
4060
从源码的角度分析mybatis的核心流程(中)
Python string中删除(过滤)
Python怎么过滤 emoji表情符号呢? 下面是剔除表情字符串的代码片段 python2.7 下测试
py3study
2020/01/10
1.4K0
CefSharp 中过滤图片 RequestHandler
具体内同参照 附录;将 OnBeforeResourceLoad方法替换成2中的内容,很简单;
全栈程序员站长
2022/11/04
9520
点击加载更多

相似问题

过滤角度材料表中的复杂对象

20

基于下拉列表的角度中的过滤表

119

表上的角度转换和过滤

10

如何过滤显示在表中的角度FormArray数据

22

用于过滤对象的角度材质表filterPredicate

215
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档