Не зная FlexJSON лучше я не могу быть уверен, но проблема, о которой я подозреваю, связана с Java Type Erasure (google больше для этого, если вы не знакомы с концепцией - это просто означает, что в байт-коде Java очень мало информации об объявленных общих типах , как то, что вы здесь делаете). Из-за этого библиотека НЕ МОЖЕТ ЗНАТЬ ожидаемый тип, который вы даете (> или подразумеваемый тип возврата); все, что он видит, это ArrayList (поскольку ArrayList.class не содержит данных типа generics); и поскольку вы даете ему JSON со строками, он должен предположить, что вам нужен список строк.
Итак, как обойти это? Возможно, у FlexJson есть способ предоставить информацию с поддержкой генериков, чтобы обойти это. Если нет, вы можете подкласс ArrayList, что-то вроде «public class MyList extends ArrayList», передайте метод MyList.class. Теперь ему ДОЛЖНО быть в состоянии определить действительно ожидаемый тип.
Если это не сработает, попробуйте другую библиотеку Java JSON (Jackson или GSON). Они могут сделать это преобразование (я знаю, что Джексон может, я ожидал бы, что GSON тоже сможет).
Образец кода без каких-либо объяснений немного сложно адресовать. Есть ли ошибка? Вы просто просите подтверждения своего кода? ...? –
этот код не работает правильно – alexn
Одно предложение: исправить строку; JSON не допускает одинарных кавычек (в отличие от XML). Возможно, FlexJson принимает это, но многие другие парсеры не делают (правильно). – StaxMan