У меня есть JSON строки, как это -Как сопоставить два разных значения переменных в строке JSON с одной переменной класса?
String jsonString1 = "{\"warning\": \"user_id not found\", \"user_id\": some_user_id}";
or
String jsonString2 = "{\"error\": \"user_id for wrong partition\", \"user_id\": some_user_id, \"partition\": some_partition}";
Я пытаюсь сопоставить выше JSON строку с ниже классом. Я использую GSON здесь -
public class ErrorResponseTest {
private String error;
private String user_id;
private String partition;
private String client_id;
// getters or setters
}
Постановка задачи:
Я хочу карту warning
и error
в вышеприведенном JSON строки в error
переменной в моем выше классе. Но в настоящее время это отображение только jsonString2
ошибки переменным ..
С использованием коды ниже, я могу десериализацию jsonString2
, а затем он показывает в переменных ошибках user_id for wrong partition
. Но если я пытаюсь десериализации jsonString1
то это показывает нулевое значение в переменной ошибки ..
ErrorResponseTest hello = new Gson().fromJson(jsonString2, ErrorResponseTest.class);
Можно ли сопоставить warning
ошибки переменной, а в моем выше классе? Значение, если я десериализую jsonString1
с вышеуказанным классом, я хочу иметь user_id not found
в переменной ошибки.
Можно ли это сделать?
Не переусердствуйте. Создайте два класса: одно сопоставление 'jsonString1' и другое отображение' jsonString2'. ПОЦЕЛУЙ. Если вы DRYer, сделайте суперкласс, который содержит общие атрибуты. – Nishant