我有一个像这样的JSONParser方法:
public ArrayList<Meaning> parseMeaning (JSONObject object)
{
ArrayList<Meaning> arrayList = new ArrayList<Meaning>();
try
{
JSONObject value = object.getJSONObject("Value");
JSONArray meaningArray = value.getJSONArray("Meanings");
JSONObject meaningobj = null;
for(int i = 0; i < meaningArray.length(); i++) {
meaningobj = meaningArray.getJSONObject(i);
Meaning myMeaning = new Meaning();
myMeaning.MeaningID = meaningobj.getInt("MeaningID");
myMeaning.Type1 = meaningobj.getInt("Type1");
myMeaning.Type2= meaningobj.getInt("Type2");
arrayList.add(myMeaning);
}
}
catch (JSONException e)
{
Log.d("JSONParser=>parseMeaning", e.getMessage());
}
return arrayList;
}
我的意思类是这样的:
public class Meaning {
public int MeaningID;
public Integer Type1;
public Integer Type2;
}
当我运行代码时,一些JSON对象没有Type2值(因为它们在数据库中为null)。所以我得到了这个例外:
D / JSONParser =&gt; parseMeaning:Type2没有值
你能告诉我当一个领域没有价值时我应该如何处理这种情况?感谢。
答案 0 :(得分:1)
您可以使用has
的{{1}}方法。
E.g。 :
JSONObject