Json 데이터 구조, key값 빨리 파악하는 법 / #jq #jsonParsing

임혜정·2024년 8월 2일
1
post-thumbnail
post-custom-banner

요구사항
https://pokeapi.co/api/v2/pokemon/{포켓몬아이디번호}
로 디테일 정보를 받아올 모델을 만드시오.

받아와서 사용될 데이터는 포켓몬이름, 몸무게 등 이다.

뒤에 대충 아무 숫자나 넣고 url창에 넣어보았지만 데이터가 방대해서 pretty print로 보여주어도 초보자에게는 제공하는 키값과 데이터가 어떤 구조인지 잘 안보인다.

이럴 때 API응답을 간략화하거나 필요한 정보만 추출하는 방법이 있다.


  1. 터미널 열기
    cmd + space > 터미널

  2. brew install jq 입력

  3. curl https://pokeapi.co/api/v2/pokemon/22 | jq 'keys' 입력


결과

[
  "abilities",
  "base_experience",
  "cries",
  "forms",
  "game_indices",
  "height",
  "held_items",
  "id",
  "is_default",
  "location_area_encounters",
  "moves",
  "name",
  "order",
  "past_abilities",
  "past_types",
  "species",
  "sprites",
  "stats",
  "types",
  "weight"
]

위와 같이 JSON의 최상위 Key만 보기 편하게 추려준다.

예제사진과 대조하여 유추해보면 내게 필요한 key값은
id, name, types, height, weight일 것이다.

이를 토대로 api통신을 위한 구조체를 작성한다.

struct PokemonDetailResponse: Codable {
    let id: Int
    let name: String
    let types: [TypeElement]
    let height: Double
    let weight: Double
}

너무 편하다

https://jsonviewer.stack.hu/
https://quicktype.io/

profile
오늘 배운걸 까먹었을 미래의 나에게..⭐️
post-custom-banner

0개의 댓글