Я пытаюсь использовать TypedArray для анализа json.
Мой json будет следующим:
{
"id":"112233",
"tag":"From server",
"users":{
"vijay":1,
"dhas":2,
"vijaydhas":3
}
}
Здесь ключ объекта пользователя будет динамическим. Я буду получать от сервера во время выполнения. В то время только Я не знаю ключа (виджай, дхас, виджайдхас).
Чтобы разобрать идентификатор и тег, я сделаю следующий код.
@Override
public MagazineReader read (JsonReader in) throws IOException {
final MagazineReader magazineReader = new MagazineReader();
in.beginObject();
while (in.hasNext()) {
switch (in.nextName()) {
case "id":
magazineReader.setID(in.nextInt());
break;
case "tag":
magazineReader.setTag(in.nextString());
break;
in.beginArray();
/*
For User how to read the json???
*/
}
in.endObject();
}
Теперь я хочу прочитать и проанализировать пользовательский JsonArray и его объект, не зная ключа. Я знаю, как разобрать JSONObject, не зная ключа.
JSONObject users= obj.getJSONObject("users");
Iterator iteratorObj = detailList.keys();
while (iteratorObj.hasNext())
{
String jsonKey = (String)iteratorObj.next();
property.put(jsonKey,usersList.get(jsonKey));
}
Но в JsonReader я не знаю, как прочитать значение json, не зная ключа. Пожалуйста помоги мне с этим. [1]: https://javacreed.com/gson-typeadapter-example