GSON довольно подробный для этого тривиального примера, однако существует обширный GSON user-guide, если вы хотите продолжить этот метод.
Простой ответ, однако, заключается в использовании его JSONObject class, который встроен в SDK android. Существует full JSON tutorial, который должен помочь.
Просто:
JSONObject myObject = new JSONObject(myResponseString);
Есть несколько функций, чтобы затем извлечь данные из объекта, который вы можете использовать в вашей функции или ответ конструктора объекта для упрощения кодового.
Если у вас есть массив объектов, то используйте JSONArray
Самое главное, читайте документацию на
UDPATE
Вы можете использовать метод optJSONObject, чтобы обнаружить, если «сообщение» Значение - это объект, а не простая строка.
Чтобы использовать ваш пример класса добавить метод к вам классу сообщений:
public static Message fromJson(string jsonString) throws JSONException
{
JSONOBject jsonObject = new JSONObject(jsonString);
Message message = new Message(); //create our return object
JsonObject messageObject = jsonObject.optJSONObject("message");
if(messageObject!=null)
{
//get our member variables from the messageObject
message.part_one = messageObject.getString("part_one");
message.part_two = messageObject.getString("part_two");
}
else
{ // it's a simple string so just get the string from jsonObject
message.part_one = jsonObject.getString("message");
}
return message;
}
Вы должны, конечно, добавить обработку исключений и, возможно, бросить специальное исключение или вернуть нулевое значение, если синтаксический анализ терпит неудачу.
проблема в том, что неизвестно, какой тип «сообщение» будет – Natali
это нетривиальный вопрос, вам нужно добавить больше деталей и код, который вы имеете до сих пор ... [SO] является не сервис для создания кода для вас, но мы будем помогать решать проблемы, вы должны приложить некоторые усилия, хотя – Merlin
Мне не нужно много кода, я только хочу знать, как я могу установить два типа для одной переменной, , – Natali