Ich habe eine Frage zu einer Web-Anwendung, die ich baue, wo ich einen REST-Dienst eine JSON-Zeichenfolge erhalten.Parsing JSON Objekt in eine Zeichenfolge
Die JSON-String ist so etwas wie:
{
"string" : "value",
"string" : "value",
"object" : {
"string" : "value",
"string" : "value",
....
}
}
Ich bin mit dem Resteasy json Zeichenfolge zu analysieren, die Jackson unter verwendet. Ich habe eine jaxb annotierte Klasse und ich möchte das "Objekt" vollständig in eine String-Variable analysieren. Der Grund dafür ist, dass ich den JSON später mit dem richtigen Parser parsen kann (das hängt von der Anwendung ab, die die Anfrage sendet, so dass es unmöglich ist, dies im Voraus zu wissen).
Meine jaxb kommentierte Klasse sieht wie folgt aus:
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Test{
@XmlElement(type = String.class)
private String object;
//getter and setter
...
}
Wenn ich den Rest Anruf ausführen und lassen jackson diesen Code analysieren ich eine
Can not deserialize instance of java.lang.String out of START_OBJECT token
Fehler. Also versuche ich tatsächlich ein Stück einer JSON-Zeichenfolge, die ein JSON-Objekt ist, in eine Zeichenfolge zu zerlegen. Ich kann anscheinend niemanden mit einem ähnlichen Problem finden.
Vielen Dank im Voraus für eine Antwort.
Muss es ein String sein? Da Sie Jackson verwenden, würde ich empfehlen, Ihr Objekt als [JsonNode] zu speichern (http://fasterxml.github.com/jackson-databind/javadoc/2.1.0/com/fasterxml/jackson/databind/JsonNode.html). Dies sollte einfach deserialisiert werden und Sie können es anschließend mit dem richtigen Parser analysieren. – nutlike
Laut meinem Analyst sollte es sein :). Ich werde es trotzdem versuchen, wenn es funktioniert, werde ich ihn überzeugen. – KwintenP