어제는 파이썬으로 XML데이터를 파싱했었는데
오늘은 JSON데이터에 HTTP 통신을 하여
데이터를 문자열로 Parsing해보려고합니다.
먼저 HTTP 통신은 어제와 했던 과정이 같습니다.
Current weather data - OpenWeatherMap
Current weather data - OpenWeatherMap
openweathermap.org
저는 OpenWeatherMap이라는 사이트에서
날씨 정보가 담긴 API 주소를 사용했습니다.
해당 내용을 resBody에 담아서 출력까지 진행했습니다.
이때 요청파라미터로
units=metric => 섭씨온도로 출력
lang=kr => 한국어로출력
을 넣었습니다.
한국어로 변환했으니 요청을 받은 객체에
decode()함수를 써서 decoding까지 해줘야합니다.
이러면 이런식으로 날짜데이터가 넘어온 것을 확인할 수 있습니다.
다음은 넘어온 JSON 데이터를 파이썬의 문자열로 바꾸는 방법을 알아보겠습니다.
XML데이터에서는 fromstring을 사용했지만,
JSON데이터는 loads라는 기능을 사용해야합니다.
이렇게 하면 JSON데이터가 문자열 형식으로 바뀌게 됩니다.
이 데이터를 원하는 데이터로 Parsing하려면
먼저 JSON 데이터의 구조를 알아야하는데
weather라는 데이터안에 description 데이터를 가져오려면
weather 데이터가 어디에 있는지 알아야 합니다.
weather는
1. {} dict 자료형 안에
2. weather라는 list의 0번째 리스트의
3. {} dict 자료형 안에 description
있습니다.
따라서 다음과 같이 접근할 수 있겠네요.
print(weather["weather"][0]["description"])
출력을 확인해보겠습니다.
지금은 도시를 바꿔서 입력했더니
연무가 출력되네요.
JSON 데이터를 가져와서 Parsing까지 해봤습니다.
'Python' 카테고리의 다른 글
[Python] DB에 Insert하기 (0) | 2025.03.07 |
---|---|
[Python] 책 API의 JSON 데이터 가져오기 (feat. Kakao Dev) (1) | 2025.03.07 |
[Python] 파이썬으로 Http 통신 하는 법 (0) | 2025.03.06 |
[Python] Datetime (0) | 2025.03.06 |
[Python] f-string (0) | 2025.03.06 |