0

我的json样子:

{
    "response": {
        "resNum": 222222,
        "start": 0,
        "array": [{
            "tr_id": "xx33fg",
            "user_id": "6678",
            "x_date": "2021-04-27",
            "list": [
                "[{\"id\":\"123\",\"val2\":\"RX\",\"date\":\"2020-11-13\"}",
                "{\"id\":\"456\",\"val2\":\"DB\",\"date\":\"2020-09-20\"}]"
            ]
        }]
    }
}

我需要将其转换为:

{
  "Result": [
    {
      "x_date": "2021-04-10",
      "array": [
        {
          "id": "345",
          "val2": "RX",
          "date": "2021-04-10"
        },
        {
          "id": "223",
          "val2": "XC",
          "date": "2021-04-10"
        }
      ]
    }
  ]
}

我如何阅读idval2date从列表中使用jq?我试过了

id: .response? | .array[]? | .list[]? | .id

但是没有成功,我得到一个错误。我认为带有转义的嵌套数组是原因。有人可以帮助我吗?谢谢!

4

1 回答 1

2

用于fromjson取消转义字符串。

jq '.response.array[]
    | {Result:[{x_date, array: .list
                | join(",")
                | fromjson}]}'

输出与您发布的内容不同,但我不知道您想如何翻译这些值。

于 2021-05-11T17:23:00.070 回答