用jq解析一组JSON对象

时间:2018-11-20 15:30:19

标签: json grep jq

我尝试解析的JSON很大,基本上看起来像

{
  "order": [
    "hash1",
    "hash2"
  ],
  "posts": {
    "hash4": {
      "id": "hash4",
      "message": "lorem ipsem"
    },
    "hash5": {
      "id": "hash5",
      "message": "dolor sit amet"
    },
    "hash6": {
      "id": "hash6",
      "message": "consectetur adipiscing elit"
    }
  }
}

到目前为止,我一直在处理此问题的方法只是对消息进行grep

$ grep 'message' jq_dat.json 
      "message": "lorem ipsem"
      "message": "dolor sit amet"
      "message": "consectetur adipiscing elit"

这对我当前的目的有效,但是我想知道如何使用jq获得相同的效果。即

$ jq .posts.<something>.message < jq_dat.json
"lorem ipsem"
"dolor sit amet"
"consectetur adipiscing elit"

我尝试使用[]{}来代替something,但是它们都吐出了编译错误。

1 个答案:

答案 0 :(得分:2)

您的点太多了

   jq .posts[].message < jq_dat.json