簡體   English   中英

JQ新手麻煩選擇嵌套鍵

[英]JQ newbie trouble selecting nested keys

嗨,我是JQ和Json的新手。 我在用

$ jq-版本jq-1.5

我有一段時間想弄清楚如何為id,attributes.name,attributes.albumName和attributes.artistName選擇值

我在Mac上使用終端應用程序。 我遇到某種奇怪的解析問題

$ jq '.results.songs.data[0] | {id, attributes.name } ' t
jq: error: syntax error, unexpected FIELD, expecting '}' (Unix shell quoting issues?) at <top-level>, line 1:
.results.songs.data[0] | {id, attributes.name }                                         
jq: 1 compile error
$ 

此示例顯示了我要過濾的數據結構,如下所示

    $ jq '.results.songs.data[0] | {id, attributes } ' t
{
  "id": "152471393",
  "attributes": {
    "previews": [
      {
        "url": "https://audio-ssl.itunes.apple.com/apple-assets-us-std-000001/AudioPreview71/v4/7d/c5/68/7dc56849-29b8-bd90-2bb1-51750e479569/mzaf_4742389090778091050.plus.aac.p.m4a"
      }
    ],
    "artwork": {
      "width": 1449,
      "height": 1449,
      "url": "https://is5-ssl.mzstatic.com/image/thumb/Music/v4/7d/01/56/7d0156be-12cd-8724-a0ca-727b1013a81d/source/{w}x{h}bb.jpeg",
      "bgColor": "ddcfc4",
      "textColor1": "010100",
      "textColor2": "422f10",
      "textColor3": "2d2a27",
      "textColor4": "614f34"
    },
    "artistName": "Gnarls Barkley",
    "url": "https://itunes.apple.com/us/album/crazy/152471339?i=152471393",
    "discNumber": 1,
    "genreNames": [
      "Alternative",
      "Music",
      "R&B/Soul",
      "Rock",
      "Soul",
      "Hip-Hop/Rap",
      "Rap",
      "Hip-Hop",
      "Adult Alternative",
      "Neo-Soul",
      "Alternative Rap",
      "Underground Rap"
    ],
    "durationInMillis": 178387,
    "releaseDate": "2006-03-13",
    "name": "Crazy",
    "isrc": "USAT20611041",
    "albumName": "St. Elsewhere",
    "playParams": {
      "id": "152471393",
      "kind": "song"
    },
    "trackNumber": 2
  }
}

謝謝

安迪

使用示例JSON作為輸入,執行以下調用:

jq '{id, name: .attributes.name }' input.json

生產:

{
  "id": "152471393",
  "name": "Crazy"
}

上面的過濾器是以下內容的縮寫:

{"id" : .id, "name": .attributes.name }

無論如何,必須正確指定密鑰。

為了將來參考,在stackoverflow.com上提問時,請盡可能遵守http://stackoverflow.com/help/mcve准則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM