Questa è probabilmente una domanda doppia. Si prega di fare riferimento a questo link.
Sono in grado di mappare un oggetto json su POJO. Ma come posso convertire l'array di oggetti json in pojo utilizzando lo stesso framework di jackson.Conversione di array JSON in POJO utilizzando il mappatore oggetti jackson
private void jsonToPojo(){
ObjectMapper mapper=new ObjectMapper();
try {
User1 user1=mapper.readValue(readFromFile(), User1.class);
User1[] user2=mapper.readValue(readFromFile(), User1[].class);
System.out.println(user1);
Toast.makeText(getApplicationContext(), "inside try", 0).show();
} catch (JsonParseException e) {
// TODO Auto-generated catch block
Log.i("Exception", "jsonparseexception");
e.printStackTrace();
} catch (JsonMappingException e) {
// TODO Auto-generated catch block
Log.i("Exception", "jsonmapping exception");
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
Log.i("Exception", "ioexception");
e.printStackTrace();
}
}
Questo è l'oggetto utente della classe.
public class User {
private int age = 23;
private String name = "amal";
private List<String> messages = new ArrayList<String>() {
{
add("hi");
add("how");
add("are u.");
}
};
//getter and setter methods
@Override
public String toString() {
return "User [age=" + age + ", name=" + name + ", " +
"messages=" + messages + "]";
}
Questo è quello che ho cercato di fare: (ReadFromFile() si è JSON da un file)
User1[] user2=mapper.readValue(readFromFile(), User1[].class);
Il jsonToPojo() sta lavorando bene per un solo oggetto. Tuttavia, se provo la riga di codice precedente, non è che segue JSON:
[
{
"age":"23",
"messages":["hi","how","are u."],
"name":"amal"
},
{
"age":"98",
"messages":["Reply","my","question"],
"name":"You"
}
]
I ho testato il tuo esempio JSON e il tuo codice funziona per me. Le classi User e User1 sono uguali o hai due classi diverse? –
user1 è una nuova classe. beh voglio archiviare la serie di oggetti json nel pojo .. questo è quello che non sono in grado di fare. – amalBit