2

JSonを解析するときに多くの問題が発生し、その値の1つにnull値があります。

{
"available_from" : "2012-11-05T00:00:00Z",
"available_to" : "2012-11-30T00:00:00Z",
"category_id" : 2,
"created_at" : "2012-11-05T14:53:39Z",
...
}

たとえば、「category_id」がnullに等しい場合、パーサーで例外が発生します。それを解決するために私は何ができますか?

私が自分自身を説明したことを願っています。

4

2 に答える 2

3

JSONObjectから値を取得する前に、JSONObjectにキーがあるかどうか、および値が「null」でないかどうかを確認する必要があります。

特定のキーにアクセスしようとするたびに、次のIfステートメントを追加します。

JSONObject jsonObject = new JSONObject(str);
if(jsonObject.has("category_id")&&!jsonObject.isNull("category_id")){
   String s = jsonObject.getString("category_id");      
}
于 2012-11-05T20:43:53.030 に答える
1

GSONの使用を検討しましたか?それは本当にJSON解析を単純化します。また、通常のjsonobjectsを使用している場合、値はnullではない可能性があります。詳細については、ドキュメントをお読みください。

于 2012-11-05T20:11:20.927 に答える