如何在Java中处理JSONParser中不存在的数据

时间:2015-07-14 08:48:14

标签: java json parsing

我有一个像这样的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没有值

你能告诉我当一个领域没有价值时我应该如何处理这种情况?感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用has的{​​{1}}方法。

E.g。 :

JSONObject