Если вы используете Gson, для анализа вашего ответа вы можете создать пользовательский класс, представляющий ваши данные JSON, а затем вы можете использовать Map
.
Обратите внимание, что Map<String, SomeObject>
это именно то, что представляет собой ваш JSON, так как у вас есть object
, содержащее пару string
и некоторые object
:
{ "someString": {...} }
Итак, первый ваш класс, содержащий данные в формате JSON (в псевдо -кода):
class YourClass
String type
String status
String icon
int number
String display_number
Затем разобрать ваш ответ JSON с помощью Map
, например:
Gson gson = new Gson();
Type type = new TypeToken<Map<String, YourClass>>() {}.getType();
Map<String, YourClass> map = gson.fromJson(jsonString, type);
Теперь вы можете получить доступ все значения, используя ваш Map
, например:
String GUID = map.keySet().get(0);
String type = map.get(GUID).getType();
Примечание: если вы хотите, чтобы получить значение GUID, вам не нужно, чтобы создать класс YourClass
, и вы можете использовать один и тот же код синтаксического анализа, но с использованием общего Object
в Map
, то есть Map<String, Object>
.
Не уверен, что я полностью понимаю вопрос. Этот JSON действителен в соответствии с JSONLint, поэтому вы должны анализировать его как JSON. – Alan
согласился. Но проблема заключается в том, что RIDONLY генерируется GUID. – DroidEngineer
Я создаю pojo против него, но его не работает, потому что каждый раз, когда GUID, сгенерированный на стороне сервера, отличается и уникален. :) – DroidEngineer