Я использую Google Cloud Firestore API для проекта, который предполагает простой поиск данных из базы данных сервера. Установив все, я не могу понять, как правильно проанализировать возвращенный JSON, так как все мои попытки оказались безуспешными.
Использование пакета Firestore исключено, поскольку это определенный проект.
Я попробовал классический подход, так как Android-студия получает только полевую часть со своим соединением HTTPURLC.
Это структура JSON:
{
"documents": [
{
"name": "projects/...",
"fields": {
"name": {
"stringValue": "Q1"
},
"myValues": {
"arrayValue": {
"values": [
{
"stringValue": "First"
}
]
}
},
"index": {
"integerValue": "0"
}
},
"createTime": "2019-05-24T10:07:10.864421Z",
"updateTime": "2019-05-28T07:52:34.445600Z"
}
]
}
Вот моя попытка парсинга:
public ArrayList<Question> parse(String json)
{
ArrayList<Question> list = new ArrayList<Question>();
try {
int indeks=0;
String qName="";
ArrayList<String> answerList= new ArrayList<String>();
JSONObject object = new JSONObject(json);
JSONArray dokumenti = object.getJSONArray("documents");
for (int j = 0; j < dokumenti.length(); j++) {
JSONObject jObject = dokumenti.getJSONObject(j);
if (jObject.has("index")) indeks = jObject.getInt("index");
if (jObject.has("name")) qName= jObject.getString("name");
JSONArray answerArray= jObject.getJSONArray("myValues");
for (int i = 0; i < answerArray.length(); i++) {
try {
String answer= answerArray.getString(i);
answerList.add(answer);
} catch (JSONException e) {
Log.d("OOPS", qName);
}
}
}
list.add(new Question(qName, qName, answerList, answerList.get(indeks), 0));
}
catch(JSONException e)
{
//something
}
return list;
}
Структура базы данных
Я ожидаю, что все документы будут проанализированы и добавлены в list
ArrayList, но, похоже, ничего не происходит, и я не могу найти TAG в Logcat.