首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用jq对JSON进行去甲基化

用jq对JSON进行去甲基化
EN

Stack Overflow用户
提问于 2015-10-15 12:26:26
回答 1查看 464关注 0票数 2

我的JSON看起来是这样的:

代码语言:javascript
复制
    [
      {
        "fields": {
          "versions": [
            {
              "id": "36143",
              "name": "ST card"
            },
            {
              "id": "36144",
              "description": "Acceptance test card",
              "name": "AT card"
            }
          ],
          "severity": {
            "value": "B-Serious",
            "id": "14231"
          }
        }
      },
      {
        "fields": {
          "versions": [
            {
              "id": "36145",
              "name": "ST card"
            }
          ],
          "severity": {
            "value": "C-Limited",
            "id": "14235"
          }
        }
      }
    ]

我想将它与jq转换为:

代码语言:javascript
复制
    [
      {
        "id": "36143",
        "name": "ST card"
        "value": "B-Serious"
      },
      {
        "id": "36144",
        "name": "AT card"
        "value": "B-Serious"
      },
      {
        "id": "36145",
        "name": "ST card"
        "value": "C-Limited"
      }
    ]

注意,第一个对象有两个版本,并且严重性相同。我尝试过jq的group_by和map函数,但没有太成功。(请帮助:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-15 14:45:59

这应该能行。您可能不想在这里使用group_by,如果您试图从多到少,我们就会这样做。

您正在将不同的版本与相应的严重性结合起来。你可以这么做。

代码语言:javascript
复制
map(.fields | (.versions[] | { id, name }) + { value: .severity.value })
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33148557

复制
相关文章

相似问题

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