У меня есть файл JSON, который я загружаю из хранилища и анализирую с помощью Gson. В 10% устройств, которые запускают приложение, оно будет зависать на определенной линии.
Я установил приложение на другие телефоны Android, но ни один из них не разбился на этой линии.
Сначала я читаю файл и разбираю его с помощью Gson:
new Gson().fromJson(FileManager.readFile(new File(json)), listType)
тип списка:
listType = new TypeToken<ThirdPartyServerModel>(){}.getType();
Файл JSON:
{
"accepted_values": {
"policy_term": [
2,
3,
4,
6,
12
]
}
Мой класс POJO ThirdPartyServerModel:
@AutoValue
public class ThirdPartyServerModel implements Serializable {
@SerializedName("accepted_values")
public AcceptedValues acceptedValues;
@AutoValue
public static class AcceptedValues {
@SerializedName("liability_property_damage")
public List<String> liabilityPropertyDamage;
@SerializedName("policy_term")
public List<Integer> policyTerm;
}}
Строка ошибки:
for (int i = 0; i <
thirdPartyServerModels.acceptedValues.policyTerm.size(); i++) {
policyTerms.add(new SimpleItem(null));
}}
Ошибка:
java.lang.NullPointerException: Attempt to read from field
'ThirdPartyServerModel.acceptedValues' on a null object reference
Почему это происходит только на некоторых устройствах, а не на всех?