2015-06-22 11 views
5

sto ricevendo una risposta JSON dal mio serverCome impostare correttamente un JsonNode in Mongo ma senza impostarlo come String usando Jackson in Java?

{ 
"results": [], 
"metadata": { 
    "total_hits": 0, 
    "max_score": 0 
} 
} 

Io lavoro su come un JsoNode

JsonNode rootNode = new ObjectMapper().readTree(response); 
... 

e alla fine ho restituire una stringa

Procces obj = processResponse(rootNode) // This method only make a Object with the value of rootNode 
String proccesString = new ObjectMapper().writeValueAsString(obj); 
return proccesString; 

Il problema è quando ho impostarlo sul mio database mongo nel campo MyProccesResponse, visualizzato:

{"MyProccesResponse": "{\"results\": [],\"metadata\": {\"total_hits\": 0, \"max_score\": 0}}" 

}

e ho bisogno

{ 
    "MyProccesResponse": { 
    "results": [], 
    "metadata": { 
     "total_hits": 0, 
     "max_score": 0 
    } 
    } 
} 

Come posso risolvere il problema?

+1

È possibile aggiungere il codice in cui si inserisce il documento nel database (codice Mongo)? –

+0

@JalalSordo Niente di proprietà di ObjectMapper – cheloncio

risposta

0

Invece di chiamare ObjectMapper.writeValueAsString(), è sufficiente restituire il valore della variabile obj e MongoDB eseguirà la serializzazione su JSON.

+0

Il mio metodo ora restituisce una stringa e restituisce un oggetto, in questo senso, è meglio che provare a salvare un oggetto in mongo – cheloncio

Problemi correlati