【发布时间】:2019-07-03 15:09:30
【问题描述】:
我想要这个:
{
"level1a": "value",
"level1b": {
"level2a": {
"level3a": "nestedvalue"
},
"level2b": "value"
}
}
最终看起来像这样:
{
"level1a": "value",
"level1b": {
"level2a.level3a": "nestedvalue",
"level2b": "value"
}
}
然后到这个:
{
"level1a": "value",
"level1b": [{
"key": "level2a.level3a",
"val": "nestedvalue"
},
{
"key": "level2b",
"val": "value"
}
]
}
我只希望一些嵌套字段被点缀,并且我希望能够选择哪些字段。我有一组 JSON 文档,其中包含数千个字段,其中大多数嵌套在一个或两个一级或二级字段下。
最后我想在点链字段上使用 jq 的 to_entries 之类的东西,以便准备好作为嵌套字段摄取到 Elasticsearch 中,以便在保持所有信息的同时保持较低的字段总数。
有什么想法吗?
【问题讨论】:
-
这不是模棱两可吗?链式键“k.1.k.2”最初是 1、2、3 还是 4 级?
-
我希望能够选择一个键并将其下方的所有内容链接起来,尽可能多的级别。原始键中没有一个点,所以它会保持清楚数据过去的样子。
标签: json elasticsearch path jq flatten