Я пытаюсь изменить Android приложение, которое вытягивает некоторые JSON от сервера ..Проверка нулевых значений в Java
JSONObject mResult = new JSONObject((String) result);
Затем с помощью, чтобы построить объект из моего класса спонсор ..
Gson mGson = new Gson();
mSponsor = mGson.fromJson(mResult.getJSONObject("data").getJSONObject("sponsor").toString(), Sponsor.class);
Спонсорский класс - это всего лишь оболочка с сеттерами и геттерами, без логики. Что-то вроде этого:
public class Sponsor {
@SerializedName("address1")
private String Address1;
@SerializedName("address2")
private String Address2;
public Sponsor(String address1, String address2) {
Address1 = address1;
Address2 = address2;
}
public Sponsor() {
Address1 = "";
Address2 = "";
}
public String getAddress1() {
return Address1;
}
public void setAddress1(String address1) {
Address1 = address1;
}
public String getAddress2() {
return Address2;
}
public void setAddress2(String address2) {
Address2 = address2;
}
}
приложение помещает адрес в TextView так:
txtAddress = (TextView) view.findViewById(R.id.txt_sponsor_address);
txtAddress.setText(mSponsor.getAddress1() + "\n" + mSponsor.getAddress2());
Это все работает, кроме случаев, когда сервер возвращает null
для address2
, в этом случае дословный текст «нулевой "печатается в TextView, где должен быть адрес2.
Мой вопрос: как я могу избавиться от «нулевого»?
Я пробовал несколько разных вещей, начал с простого тройного заявления и получил все больше и больше подробностей, и ничего не сработало.
Вот последний и самый смешной вид, что я пытался до сих пор:
String addr2 = ((String) mSponsor.getAddress2()).trim();
String a2;
if((addr2 == "null") || (addr2 == "")) a2 = (String) "";
else a2 = (String) addr2;
txtAddress.setText(mSponsor.getAddress1() + "\n" + a2);
Это вызывает приложение к краху, когда я открываю эту активность.
Я ноб на Java, поэтому, пожалуйста, предоставьте ссылки, если сможете.
Вы пробовали 'addr2.equals (" null ")' или 'addr2 == null'? –