개발공작소
article thumbnail
728x90

 

 

 

저번에 javascript에서 XML형식을 JSON형식으로 변환하는 방법에 대해 알아보았는데

( 글 참조 ::  javascript에서 XML to JSON)

 

이번에는 java에서 XML형식의 데이터를 JSON형식의 데이터로 변환하는 방법에 대해 알아보자.

해당글은 메이븐 프로젝트를 기준으로 설명하도록 함. 그래들이라도 라이브러리 추가 방식만 다르다 뿐이지.

뒤는 똑같으니 따라하도록 하자~

 

 

org.json 라이브러리 추가

 

메이븐 레퍼지토리에서 org.json라이브러리를 찾아서 pom.xml에 추가해주도록 하자.

최신버전이 20220320이었음 ( 2022.07.08 기준 )

<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20220320</version>
</dependency>

 

 

XML형식 데이터를 JSON형식 데이터로 변환

 

XmlToJson.java

package app.model.com;

import org.json.JSONObject;
import org.json.XML;

public class XmlToJson {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		String sampleXml = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>"
        + "	<response>"
        + "		<header>"
        + "			<resultCode>00</resultCode>"
        + "			<resultMsg>NORMAL SERVICE.</resultMsg>"
        + "		</header>"
        + "		<body>"
        + "			<items>"
        + "				<item>"
        + "					<addr>울산광역시 남구 수암로 138 타임스퀘어 3층 301~303호 (야음동)</addr>"
        + "					<mgtStaDd>20220214</mgtStaDd>"
        + "					<pcrPsblYn>N</pcrPsblYn>"
        + "					<ratPsblYn>Y</ratPsblYn>"
        + "					<recuClCd>31</recuClCd>"
        + "					<rnum>1</rnum>"
        + "					<rprtWorpClicFndtTgtYn>N</rprtWorpClicFndtTgtYn>"
        + "					<sgguCdNm>울산남구</sgguCdNm>"
        + "					<sidoCdNm>울산</sidoCdNm>"
        + "					<telno>052-912-7575</telno>"
        + "					<XPosWgs84>129.3219771</XPosWgs84>"
        + "					<YPosWgs84>35.5270563</YPosWgs84>"
        + "					<yadmNm>리더스통증의학과의원</yadmNm>"
        + "					<ykihoEnc>JDQ4MTYyMiM4MSMkMiMkNCMkMDAkNDgxOTYxIzIxIyQxIyQxIyQ3MiQzNjE4MzIjNjEjJDEjJDQjJDgz</ykihoEnc>"
        + "				</item>"
        + "			</items>"
        + "			<numOfRows>10</numOfRows>"
        + "			<pageNo>1</pageNo>"
        + "			<totalCount>10365</totalCount>"
        + "		</body>"
        + "	</response>";
		//(1) XML형식의 데이터를 JSON 객체형식의 데이터로 변환
		JSONObject json = XML.toJSONObject(sampleXml);
        
        	//(2) JSON 객체형식의 데이터를 String타입으로 변환
		String jsonStr = json.toString();
        
        	//(3) 콘솔에 출력
		System.out.println(jsonStr);
		
	}

}

 

샘플 XML은 공공데이터포털에서 가져온 데이터를 사용하였다. 

위 코드에서 XML.toJSONObject는 XML 형식의 데이터구조를 JSON 객체 데이터구조로 변환해주는 함수이다.

그렇게 JSON객체 구조로 변환 된, 변수 json을 다시 문자열로 변환하여

jsonStr이라는 변수에 담아서 콘솔에 출력하고 있다.

 

 

 

결과

 

 {"response":{"header":{"resultCode":"00","resultMsg":"NORMAL SERV  ....

 

 

진짜 필요한 라이브러리를 찾아서 활용하는 게 중요하다는 걸 느끼는 요즘..

 

 

 

 

 

728x90
profile

개발공작소

@모찌바라기

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!