Проверка наличия пустого / нулевого объекта в строке json с использованием моей записи dto - PullRequest
0 голосов
/ 02 мая 2019

Я всюду искал пример того, как изолировать нулевую проблему.

Мне отправляют строку Json, и я проверяю определенные значения, но иногда объект (colUniqueID) отсутствует в строке Json.

{
    "mitigant": {
        "productUnid": "123456789123456789",
        "createdDate": "",
        "basketNumber": "bb012456",
        "shareIndicator": "",
        "assetDetails": [
            {
                "alias": {
                    "createdDate": {"value": ""},   
                    "assetID": {"value": "1111"},
                    "assetNumber": {"value": "aaa123456"},
                    "colUniqueID": {"value": ""}
                }
            }
        ]
    }
}
String assetNum = collateral.getMitigant().getAssetDetails().get(i).getAlias().getColUniqueID().getValue();

if (assetNum != null) {
//Do something
}

Но я получаю ошибку "HTTP JVM: java.lang.NullPointerException", когда я объявляю переменную assetNum. Так что это даже не доходит до утверждения "если"

Есть идеи ??

Пожалуйста, помогите.

1 Ответ

1 голос
/ 02 мая 2019

Просто разбейте немного перед исключением:

ColUniquueID id = collateral.getMitigant().getAssetDetails().get(i).getAlias().getColUniqueID();

if (id == null) {
  // manage the case
} else {
  String assetNum = id.getValue()
}


ADDING:

Исключение NullPointerException возникает при попытке получить доступ к значению вашего объекта colUniqueID, то есть нулю.

если вы вызываете какой-либо метод нулевого объекта, у вас будет NPE, поэтому перед вызовом getValue() для возможного нулевого значения вы должны проверить, является ли оно нулевым или нет.

...