首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从具有公共父级的嵌套数组值构造唯一数组

从具有公共父级的嵌套数组值构造唯一数组
EN

Stack Overflow用户
提问于 2017-06-12 08:47:54
回答 1查看 55关注 0票数 0

JQ: Nested JSON transformation来说,这可能是个很难回答的问题,但我没能把我的头绕过去。

示例JSON:

代码语言:javascript
复制
"value": [
{
  "FeatureStatus": [
    {
      "FeatureName": "Sway1",
      "FeatureServiceStatus": "ServiceOperational"
    },
    {
      "FeatureName": "Sway2",
      "FeatureServiceStatus": "ServiceDegraded"
    }
  ],
  "Id": "SwayEnterprise",
},
{
  "FeatureStatus": [
    {
      "FeatureName": "yammerfeatures",
      "FeatureServiceStatus": "ServiceOperational"
    }
  ],
  "Id": "yammer"
}
]

我想要做的是用jq创建一个输出,结果如下;

代码语言:javascript
复制
{"Sway":"Sway1":"ServiceOperational"},
{"Sway":"Sway2":"ServiceDegraded"},
{"Yammer":"yammerfeatures":"ServiceOperational"}

我的各种尝试要么以数以千计的非唯一(即带有摇摆状态的Yammer )结束,要么只有一个Id与x号的FeatureServiceStatus。

任何指示都将不胜感激。我看过了教程和食谱。我使用jq大概有2.5天了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-12 17:05:51

假设已添加了封闭大括号以使输入有效的JSON,则过滤器:

代码语言:javascript
复制
.value[]
| [.Id] + (.FeatureStatus[] | [ .FeatureName, .FeatureServiceStatus ])

生产:

代码语言:javascript
复制
["SwayEnterprise","Sway1","ServiceOperational"]
["SwayEnterprise","Sway2","ServiceDegraded"]
["yammer","yammerfeatures","ServiceOperational"]

然后,您可以根据需要轻松地重新格式化。

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

https://stackoverflow.com/questions/44495074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档