본문 바로가기
Programming

XML to JSON 형식 변경하는 방법

by 하하호호 2021. 10. 13.
반응형

 

공공데이터포털에서 데이터 가져와서 포맷 변경하는 방법

 

 

API를 가져오는 방법은 여러가지다.

하지만 API 데이터의 형식은 제공하는

측에서 결정한다.

 

데이터를 파싱하고, 

분석하기 위해서 XML형식보다는

JSON형식을 많이 선호하기 때문에,

만약 API 데이터가 XML로 제공

된다면, JSON으로 변경해야 하는일이

생긴다.

 

python에는 JSON 형식 변경 툴을

제공한다. 크게 두가지 모듈을

제공하고 있고, 각 모듈 별 특징이

있기 때문에, 상황에 맞게 사용하면

된다.

 

1. xmltodict

 

json.dumps() 형태로 데이터를 가져오게 되며,

XML을 빠르게 JSON형식으로 변경시켜 준다.

 

 

<example>

import requests
import xmltodict, json

obj_json = xmltodict.parse("""
	<response>
		<header>
			<resultCode>00</resultCode>
		<resultMsg>NORMAL SERVICE.</resultMsg>
		</header>
		<body>
		<items/>
			<numOfRows>10</numOfRows>
			<pageNo>1</pageNo>
		<totalCount>0</totalCount>
		</body>
	</response>
	""")
print(json.dumps(obj_json))

 

2. untangle

XML을 JSON으로 변경시켜주는 두번째

모듈이다. untangle은 JSON으로 변경한

데이터의 세부 트리를 따라가서 직접

데이터를 가져오는데 사용된다.

 

<example>

import requests
import untangle

obj_untangle = untangle.parse("""
	<response>
		<header>
			<resultCode>00</resultCode>
		<resultMsg>NORMAL SERVICE.</resultMsg>
		</header>
		<body>
		<items/>
			<numOfRows>티스토리 블로그</numOfRows>
			<pageNo>1</pageNo>
		<totalCount>0</totalCount>
		</body>
	</response>
	""")
    
    print(obj_untangle.response.body.numOfRows.cdata)

 

반응형

댓글