Jettison - JSON-Dokumente nach dem StAX-Modell schreiben
Viele JSON-Implementierungen nehmen ein direktes Mapping der Java-Objekte nach JSON vor. http://jettison.codehaus.org/ geht da einen anderen Weg. Mit den aus StAX bekannten Methoden zum Schreiben/Lesen von Elementen wird nicht in ein XML-Format "gemarshalled", sondern in das JSON-Format. Ein Testfall für MappedXMLStreamWriterTest macht deutlich, was hier vor sich geht:
StringWriter strWriter = new StringWriter();
MappedNamespaceConvention con = new MappedNamespaceConvention();
AbstractXMLStreamWriter w = new MappedXMLStreamWriter(con, strWriter);w.writeStartDocument();
w.writeStartElement("root");w.writeStartElement("child1");
w.writeStartElement("subchild1");
w.writeCharacters("test");
w.writeEndElement();w.writeStartElement("subchild2");
w.writeCharacters("test");
w.writeEndElement();w.writeEndElement();
w.writeStartElement("child2");
w.writeStartElement("subchild");
w.writeCharacters("test");
w.writeEndElement();
w.writeEndElement();w.writeEndElement();
w.writeEndDocument();w.close();
strWriter.close();System.out.println(strWriter.toString());
assertEquals("{\"root\":{" +
"\"child1\":{\"subchild1\":\"test\",\"subchild2\":\"test\"}," +
"\"child2\":{\"subchild\":\"test\"}}}", strWriter.toString());
Ein Servlet/JSP würde statt in den StringWriter in den response Strom schreiben.

0 Comments:
Kommentar veröffentlichen
<< Home