리눅스 jq 파일 예제

Tool 2017. 11. 14. 19:57



리눅스 jq 툴은 json 파싱을 잘 도와주는 툴이다.


https://stedolan.github.io/jq/





다음은 예제이다. array 구조도 잘 파싱한다.



[~/temp] cat > x.json

{

  "id": {

    "bioguide": "E000295",

    "thomas": "02283",

    "fec": [

      "S4IA00129"

    ],

    "govtrack": 412667,

    "opensecrets": "N00035483",

    "lis": "S376"

  },

  "name": {

    "first": "Joni",

    "last": "Ernst",

    "official_full": "Joni Ernst"

  },

  "bio": {

    "gender": "F",

    "birthday": "1970-07-01"

  },

  "terms": [

    {

      "type": "sen",

      "start": "2015-01-06",

      "end": "2021-01-03",

      "state": "IA",

      "class": 2,

      "state_rank": "junior",

      "party": "Republican",

      "url": "http://www.ernst.senate.gov",

      "address": "825 B&C Hart Senate Office Building Washington DC 20510",

      "office": "825 B&c Hart Senate Office Building",

      "phone": "202-224-3254"

    }

  ]

}





json 데이터 얻는 방법 


[~/temp] cat x.json | jq '.name'

{

  "first": "Joni",

  "last": "Ernst",

  "official_full": "Joni Ernst"

}

[~/temp] cat x.json | jq '.name.first'

"Joni"

[~/temp] cat x.json | jq '.terms .start'

jq: error (at <stdin>:36): Cannot index array with string "start"


[~/temp] cat x.json | jq '.terms[0] .start'

"2015-01-06"

[~/temp] cat x.json | jq '.terms[] .start'

"2015-01-06"


Posted by '김용환'
,