{
"patients": {
"-Kx5vuRqItEF-7kAgVWy": {
"name": "name1",
"age": "27",
"graphData": {
"-K5knK9j8EfUHS7AesFw": {
"date": "16/12/2015",
"graphList": "[...]"
}
}
},
"-Kx5vuRqItEF-7kAgVWy": {
"name": "name1",
"age": "27",
"graphData": {
"-K5knK9j8EfUHS7AesFw": {
"date": "16/12/2015",
"graphList": "[...]"
},
"--K5knNeBFoLrjWnZshfL": {
"date": "12/12/2015",
"graphList": "[...]"
},
}
}
}
}
PatientView является объектом Java и содержит еще один вложенный граф объектыНевозможно создать значение типа с использованием Firebase
public class PatientView {
private String name;
private String age;
private boolean gender;
private float height;
private String phone;
private Object bdate;
private String image;
private ArrayList<Graph> graphData;
public PatientView() {
}
}
Graph Object: который имеет дату и ArrayList объекта
public class Graph implements Serializable {
private Object graphDate;
private ArrayList<Double> graphList;
// Empty constructor needed for firebase
public Graph() {
}
public Graph(Object graphDate, ArrayList<Double> graphList) {
this.graphDate = graphDate;
this.graphList = graphList;
}
}
и считывание значений с помощью firebase addChildEventListen
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
if (dataSnapshot != null && dataSnapshot.getValue() != null) {
PatientView p = dataSnapshot.getValue(PatientView.class);
patients.add(p);
patientIdsFromServer.add(dataSnapshot.getKey());
recyclerView.scrollToPosition(patients.size() - 1);
mAdapter.notifyItemInserted(patients.size() - 1);
}
}
но получаю ошибку как
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token at [Source: [email protected]; line: 1, column: 62] (through reference chain: com.iitb.openmrs.openmrsfinal.ui.Adapter.PatientView["graphData"])
Проблема заключается в том, что когда я толкающие данные к graphData ребенку идентификаторы генерируются таким образом, схема не соответствие с объектом Graph. Я искал, есть ли способ подавить идентификатор во время чтения данных, которые не нашли ничего.
Вместо того, чтобы разместить ссылку на изображение данных JSON, пожалуйста, включите текст этого данные JSON в вашем вопросе. Это гарантирует, что нам не нужно открывать две вкладки для сравнения данных и кода. Кроме того, это позволяет нам более легко скопировать/вставить JSON в нашу собственную базу данных для тестирования (или ответа). –