-2

私はjsonファイルを持っています。"refs"現在、すべての配列でフィールド名を使用できるわけではありません。では、この種のフィールドを解析する手順は何ですか。jsonファイルを解析しようとすると、最初の配列には"refs"フィールドがありませんが、2番目の配列にはありません。そのため、Null Pointer 例外がスローされます。私はこのコードで試しました

 JSONArray jsonArray = new JSONArray(tokener);

 for (int index = 0; index < jsonArray.length(); index++) {

       JSONObject jsonObject = jsonArray.getJSONObject(index);

          if(!jsonObject.getString("refs").equalsIgnoreCase(null)){
                String refs = jsonObject.getString("refs");
                    }
        }

しかし、それは機能していません。この状況をどのように処理するか、またはその問題を解決する方法は何か。ありがとうございました。

4

4 に答える 4

2

キーが存在するかどうかわからない場合は、まずコールで確認する必要があります

于 2013-08-02T05:04:50.747 に答える
2

問題はif文にあります....

if(!jsonObject.getString("refs").equalsIgnoreCase(null)){

あなたが書くべきことは次のとおりです:

if(!jsonObject.has("refs")){

それが役立つことを願っています

于 2013-08-02T05:07:13.717 に答える
1

これを試して

if(jsonObject.has("refs")){

  refs = jsonObject.getString("refs");
}
于 2013-08-02T05:21:45.380 に答える
1

このように「if」条件を置き換えるだけでそれを行うことができます.

if(jObj.optString("refs") != null)
于 2013-08-02T05:22:29.450 に答える