Java에서 XML을 JSON으로 변환하는 가장 빠른 방법
Java에서 XML을 쉽고 빠르게 JSON으로 변환하는 데 유용한 툴은 무엇입니까?
Java의 JSON에는 몇 가지 뛰어난 리소스가 있습니다.
Maven 의존관계:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180813</version>
</dependency>
XML.java
찾으시는 클래스입니다.
import org.json.JSONObject;
import org.json.XML;
import org.json.JSONException;
public class Main {
public static int PRETTY_PRINT_INDENT_FACTOR = 4;
public static String TEST_XML_STRING =
"<?xml version=\"1.0\" ?><test attrib=\"moretest\">Turn this to JSON</test>";
public static void main(String[] args) {
try {
JSONObject xmlJSONObj = XML.toJSONObject(TEST_XML_STRING);
String jsonPrettyPrintString = xmlJSONObj.toString(PRETTY_PRINT_INDENT_FACTOR);
System.out.println(jsonPrettyPrintString);
} catch (JSONException je) {
System.out.println(je.toString());
}
}
}
출력:
{"test": {
"attrib": "moretest",
"content": "Turn this to JSON"
}}
에서 XML 파일을 JSON으로 변환하려면 다음 종속성을 포함합니다.
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20140107</version>
</dependency>
Maven Repository에서 Jar를 다운로드할 수 있습니다.다음으로 다음과 같이 구현:
String soapmessageString = "<xml>yourStringURLorFILE</xml>";
JSONObject soapDatainJsonObject = XML.toJSONObject(soapmessageString);
System.out.println(soapDatainJsonObject);
Java에서 JSON의 유일한 문제는 XML에 자식이 하나 있지만 배열인 경우 배열이 아닌 개체로 변환된다는 것입니다.이는 항상 XML에서 JSON으로 동적으로 변환하는 경우 문제를 일으킬 수 있습니다.예를 들어 XML에 요소가1개밖에 없는 경우 오브젝트를 반환하지만 2+인 경우 어레이를 반환하여 JSON을 사용하는 사용자에게 해석 문제가 발생할 수 있습니다.
Infoscoop의 XML2JSON 클래스에는 변환을 수행하기 전에 어레이인 요소에 태그를 지정하는 방법이 있으므로 XML에 하위 항목이 하나만 있더라도 어레이를 적절하게 매핑할 수 있습니다.
다음으로 사용 예를 제시하겠습니다(약간 다른 언어이지만 XML2JSON 링크의 nodelist2json() 메서드에서 어레이가 어떻게 사용되는지 확인할 수 있습니다).
빠르고 쉬운 방법: 사용:org.json.XML
java-json.jar로부터의 클래스
if (statusCode == 200 && inputStream != null) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
StringBuilder responseStrBuilder = new StringBuilder();
String inputStr;
while ((inputStr = bufferedReader.readLine()) != null) {
responseStrBuilder.append(inputStr);
}
jsonObject = XML.toJSONObject(responseStrBuilder.toString());
}
이클립스에서 직접 열고 실행할 수 있는 프로젝트를 업로드했습니다.https://github.com/pareshmutha/XMLToJsonConverterUsingJAVA
감사합니다.
정확한 문제가 무엇인지 모르겠지만 XML을 받고 있고 JSON(또는 다른 것)을 반환하고 싶다면 JAX-B도 참조할 수 있습니다.이는 Java POJO를 XML 및/또는 Json으로 마샬링/언마샬링하기 위한 표준입니다.JAX-B를 구현하는 라이브러리가 여러 개 있습니다(예: Apache의 CXF).
언급URL : https://stackoverflow.com/questions/1823264/quickest-way-to-convert-xml-to-json-in-java
'programing' 카테고리의 다른 글
C에서는 시프트 연산자(<, >)가 산술입니까 논리입니까? (0) | 2022.08.07 |
---|---|
정수의 제곱근이 정수인지 확인하는 가장 빠른 방 (0) | 2022.07.17 |
Vue2 + Vuex - 저장소에서 성공적으로 설정된 어레이를 렌더링하지 않음 (0) | 2022.07.17 |
Java에서 ArrayList 요소의 기존 값을 대체하는 방법 (0) | 2022.07.17 |
Servlet 3.0 API에 대한 Maven 의존관계 (0) | 2022.07.17 |