Это не массив.Из вашего вопроса не очень понятно, включены ли кавычки в JSON или нет. Если да, это допустимая строка JSON.Если нет, то это действительный номер JSON. В зависимости от случая, анализ очень прост (с помощью встроенного в Android парсера org.json
):
String jsonString = (String) new JSONTokener("\"2\"").nextValue();
или:
int jsonInt = (Integer) new JSONTokener("2").nextValue();
Редактировать: , чтобы удовлетворить ваш сценарий:
String jsonString = (String) new JSONTokener(someStringThatComesFromTheServer).nextValue();
if (jsonString.equals("WRONG_PASS")) {
// do stuff
}
else if (jsonString.equals("WRONG_USER")) {
// do stuff
}
else {
// do stuff, such as:
int userId = Integer.parseInt(jsonString);
}
Редактировать 2: Я действительно связался с Дугласом Крокфордом,автор RFC4627.Кажется, что:
Формально нет, но иногда это полезно.
Так что да, остальные были правы, это не RFC-допустимый JSON.Извините за смущение людей.Однако, похоже, что большинство парсеров это понимают.