Ho una domanda riguardante un'applicazione web che sto creando dove ho un servizio REST che riceve una stringa json.Analizzare l'oggetto json in una stringa
stringa JSON è qualcosa di simile:
{
"string" : "value",
"string" : "value",
"object" : {
"string" : "value",
"string" : "value",
....
}
}
sto usando RESTEasy per analizzare la stringa JSON che utilizza Jackson sotto. Ho una classe annotata jaxb e voglio analizzare l'oggetto interamente in una variabile String. La ragione per cui voglio farlo è quella di essere in grado di analizzare successivamente il json utilizzando il parser corretto (dipende dall'applicazione che invia la richiesta, quindi è impossibile sapere in anticipo).
mio JAXB annotato classe assomiglia a questo:
@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Test{
@XmlElement(type = String.class)
private String object;
//getter and setter
...
}
Quando eseguo la chiamata di riposo e lasciare Jackson analizzare questo codice ottengo un errore
Can not deserialize instance of java.lang.String out of START_OBJECT token
. Quindi in realtà sto cercando di analizzare un pezzo di una stringa json, che è un oggetto json, in una stringa. Non riesco a trovare qualcuno con un problema simile.
Grazie in anticipo per qualsiasi risposta.
Deve essere una stringa? Dato che stai usando Jackson, ti consiglio di memorizzare il tuo oggetto come [JsonNode] (http://fasterxml.github.com/jackson-databind/javadoc/2.1.0/com/fasterxml/jackson/databind/JsonNode.html). Questo dovrebbe essere deserializzato bene e sarai in grado di analizzarlo in seguito con il parser corretto. – nutlike
Secondo il mio analista dovrebbe essere :). Lo proverò comunque, se funziona, lo convincerò. – KwintenP