XML, Object, Json 변환 및 Xstream 사용 상세 정보
1. Xstream의 특징:
Xstream 공식 설명을 참조하십시오.
Xstream이 간단하다고 말하는 것은 통일된 입구를 제공하기 때문이다. 주요 클래스인 Xstream은 모든 항목의 입구점으로 사용된다.중요한 구성 요소를 통합하여 더욱 간단하고 사용하기 쉬운 API 작업을 제공합니다.
우리는 다음 문장을 사용하여 초기화 작업을 할 수 있다.
XStreamxstream = new XStream();
기본적으로 XSTream은 Xpp3 라이브러리를 사용하고 XPP3는 실행 효율이 매우 높은 XML 전체 해석 실현이다.Xpp3 라이브러리에 의존하고 싶지 않으면 표준 JAXP DOM 해상도를 사용하여 다음 문장을 초기화할 수 있습니다.
//XPP3 라이브러리 사용 안 함
XStreamxstream = new XStream(new DomDriver());
이 xstream 실례는 라인을 안전하게 하기 위해 여러 개의 라인을 호출하고 공유할 수 있습니다.참고com.thoughtworks.xstream.io.xml 패키지는 시스템이 다양한 표지 해상도를 제공하여 우리가 선택할 수 있도록 하는 것을 발견할 수 있다. 예를 들어Dom Driver, JDom Driver, Stax Driver 등이다.
앞에서 Xstream이 Json에 대한 지원을 제공했다고 언급한 것은 Xstream에 두 개의 드라이버가 내장되어 있기 때문이다.
1. Json Hierarchical StreamDriver: 다른 라이브러리에 의존하지 않고 obj->JSON만 실현
2. JettisonMappedXmlDriver: Jettison 라이브러리에 의존하여 JSON->objorobj->JSON 실현
두 드라이버는 같은 설정의 Object를 처리할 때 서로 다른 JSON 문자열을 얻을 수 있으며, Json Hierarchical Stream Driver는 홈페이지에서 말한 것처럼 더욱 간결하게 문자열을 얻을 수 있다.
Json Hierarchical Stream Driver는 기본 출력 테이프 형식의 JSON 문자열로 구조에 빈칸이 있고 줄을 바꾸며 수식 방식을 제공하지 않습니다.
3. 자주 사용하는 방법:
xStream.toXML(object): XML、Json。
xStream.toXML(obj, outputStream): XML、Json 。
xStream.toXML(object, writer): XML、Json 。
xStream.fromXML(): XML、Json , File、InputStream、Reader、String、URL 。
xStream.alias("news", News.class): 。
xStream.useAttributeFor(News.class, "id"): id News 。
xStream.aliasField("other", BookShelf.class,"remark"): , BookShelf remark other。
xStream.addImplicitCollection(BookShelf.class, "books"): 。
xStream.aliasAttribute(" ", "name"): name, 。
4. 인스턴스 1: 객체를 XML로 변환
/**
* Xml
* @param object Xml
* @return String:Xml
*/
public static String convertObject2Xml(Object object) {
xStream=new XStream();
xStream.alias("news", News.class);//
xStream.useAttributeFor(News.class, "id");// id News
return xStream.toXML(object);
}
5. 인스턴스 2: XML 이미지를 객체로 변환
/**
* Xml Java
* @param inputStream Java inputStream
* @return String:Xml
*/
public static Object convertXml2Object(InputStream inputStream) {
xStream=new XStream();
xStream.alias("news", News.class);//
xStream.useAttributeFor(News.class, "id");// id News
return xStream.fromXML(inputStream);// xml map
}
6. 인스턴스 3: 객체를 Json으로 변환
/**
* Json
* @param object Json
* @return String:Json
*/
public static String convertObject2Json(Object object) {
xStream = new XStream(newJsonHierarchicalStreamDriver() {
publicHierarchicalStreamWriter createWriter(Writer out) {
//
return new JsonWriter(out, JsonWriter.DROP_ROOT_MODE);
}
});
return xStream.toXML(object);
}
읽어주셔서 감사합니다. 여러분에게 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
VisualForce에서 rerender하면 4 바이트 문자가 깨집니다.SalesForce의 VisualForce에서 rerender하면 4바이트 문자가 깨진 단순히 버튼 누르면 다시 그릴 뿐인 화면을 작성 Test.vfp TestController.apxc 이제 rerender 버튼을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.