2012-01-20 5 views
0

私はfacebookからjsonオブジェクトを解析しています。 Facebookのjsonオブジェクトには、キー配列 "data"の中に文字列キーがあります。アンドロイドでjsonを解析するときにnull値をスキップしますか?

マイコードを以下のように、

"data": [ 
    { 
    "id": "100001211447563_300696056647440", 
    "from": { 
     "name": "Seho Lee", 
     "id": "100001211447563" 
    }, 
    "story": "Seho Lee is now using Facebook in English (US).", 
    "story_tags": { 
     "0": [ 
      { 
       "id": 100001211447563, 
       "name": "Seho Lee", 
       "offset": 0, 
       "length": 8 
      } 
     ] 
    }, 
    "type": "status", 
    "created_time": "2012-01-19T09:13:04+0000", 
    "updated_time": "2012-01-19T09:13:04+0000", 
    "comments": { 
     "count": 0 
    } 
    }, 
    { 
    "id": "100001211447563_298802933503419", 
    "from": { 
     "name": "Seho Lee", 
     "id": "100001211447563" 
    }, 
    "story": "Seho Lee started using Graph API Explorer.", 
    "story_tags": { 
     "23": [ 
      { 
       "id": 145634995501895, 
       "name": "Graph API Explorer", 
       "offset": 23, 
       "length": 18 
      } 
     ], 
     "0": [ 
      { 
       "id": 100001211447563, 
       "name": "Seho Lee", 
       "offset": 0, 
       "length": 8 
      } 
     ] 
    }, 
    "picture": "http://photos-a.ak.fbcdn.net/photos-ak-snc1/v43/11/145634995501895/app_1_145634995501895_4870.gif", 
    "link": "http://developers.facebook.com/tools/explorer/", 
    "caption": "A tool to help you browse objects within the Facebook Graph API, manage permissions, obtain access tokens and generally learn how it all works.", 
    "actions": [ 
     { 
      "name": "Comment", 
      "link": "http://www.facebook.com/100001211447563/posts/298802933503419" 
     }, 
     { 
      "name": "Like", 
      "link": "http://www.facebook.com/100001211447563/posts/298802933503419" 
     } 
    ], 
    "type": "link", 
    "created_time": "2012-01-16T09:47:57+0000", 
    "updated_time": "2012-01-16T09:47:57+0000", 
    "comments": { 
     "count": 0 
    } 
    }, 
    { 
    "id": "100001211447563_298789650171414", 
    "from": { 
     "name": "Seho Lee", 
     "id": "100001211447563" 
    }, 
    "story": "Seho Lee likes myFBCovers.com.", 
    "story_tags": { 
     "15": [ 
      { 
       "id": 160901873998019, 
       "name": "myFBCovers.com", 
       "offset": 15, 
       "length": 14 
      } 
     ], 
     "0": [ 
      { 
       "id": 100001211447563, 
       "name": "Seho Lee", 
       "offset": 0, 
       "length": 8 
      } 
     ] 
    }, 
    "type": "status", 
    "created_time": "2012-01-16T08:57:33+0000", 
    "updated_time": "2012-01-16T08:57:33+0000", 
    "comments": { 
     "count": 0 
    } 
    } 

私は、このJSONオブジェクトを解析する際に、文字列のキーが「好き」、時には存在していると、時々、「データ」jsonArrayには存在しません。だから、JsonStringを "好き"と解釈すると、null値を解析しているので、ときどき JSONExceptionが得られます。 "null" json値をスキップする方法はありますか?

これについてお手伝いしてください。

+0

簡単な.....置くトライキャッチ&それをキャッチがあるかどうかを確認することがあります。 – Lucifer

答えて

1

編集:これは、キーを確認するためのものです。あなたはキーが時々存在すると言って以来。あなたはその価値を意味しましたか?

使用JSONObjects方法は、(キー)

data = (JSONObject) new JSONTokener(jsonObjRecv.toString()).nextValue(); 
if data.has("like"){ 
... 
} 

は値がのisNullとヌルチェック( "名前")

+0

大文字小文字を区別する方法**データ:[{key:value}、null、{key:value}] ** – Manish

2

これをキャッチすると、次のプロセスはスキップされます。 isNull( "name")メソッドでチェックできます。

関連する問題