2017-09-14 14 views
-1

私はこのJSONデータを私と一緒に使っています。長い仕事の後に結果を得る方法を見つけることができませんでした。私の目的は、video_urlの値を取得することですが、それはヌルですが、はい私は何かが来ているかどうかを確認するためにチェックを入れました。私はあらゆる可能な方法を試しましたが、私が得ているのは出力がないだけです。私の問題を見て、私に正しい方向を教えてください。JavaのJSON配列からのデータ

{ 
"data": 
    [ 
     { 
      "type":"project-users", 
      "id":"1", 
      "attributes": 
        { 
        "video-url":null 
        }, 
      "links": 
       { 
        "self": "http://localhost:3000/api/project-users/1" 
       } 
     }, 

     { 
      "type":"project-users", 
      "id":"2", 
      "attributes": 
       { 
       "video-url":null 
       }, 
      "links": 
       { 
       "self":"http://localhost:3000/api/project-users/2" 
       } 
     }, 

     { 
      "type":"project-users", 
      "id":"3", 
      "attributes": 
       { 
       "video-url":null 
       }, 
      "links": 
       {"self":"http://localhost:3000/api/project-users/3" 
       } 
     } 

    ] } 

は、属性オブジェクトからvideo_urlの値を得るために、私はそのをしましたが、失敗しました:

private void jSONLoadData(String response) throws JSONException{ 

    //talk about this in getting the video url 
    JSONObject obj = new JSONObject(response); 
    JSONArray jArray = obj.getJSONArray("data"); 

    for(int i=0; i<jArray.length() ; i++){ 
     JSONObject jsonObj = jArray.getJSONObject(i); 
     String url = jsonObj.getJSONObject("attributes").getString("video_url"); 
     Log.e("URL", url); 

     if(url.equals(null) || url.equals("")){ 
      Toast.makeText(getApplicationContext(), "Empty", Toast.LENGTH_SHORT) 
        .show(); 
     } 
    } 
} 

注:応答は上記のJSONデータに他なりません。 私は何か新しいことを学ぶのに役立つでしょう!ありがとう

答えて

1

getString("video_url");の代わりに、video_urlがヌル(つまり、isNull("video_url"))であるかどうかを確認してください。

下記のコードを試してください。

private void jSONLoadData(String response) throws JSONException{ 

    //talk about this in getting the video url 
    JSONObject obj = new JSONObject(response); 
    JSONArray jArray = obj.getJSONArray("data"); 

    for(int i=0; i<jArray.length() ; i++){ 
     JSONObject jsonObj = jArray.getJSONObject(i); 
     boolean isURLNull = jsonObj.getJSONObject("attributes").isNull("video_url"); 
     String url=""; 
     if(!isURLNull){ 
      url = jsonObj.getJSONObject("attributes").getString("video_url"); 
     } 
     if(isURLNull || url.equals("")){ 
      Toast.makeText(getApplicationContext(), "Empty", Toast.LENGTH_SHORT) 
        .show(); 
     } 
    } 
} 
+0

私はこのことを以前もやっていましたが、私は望みの結果を得ていました。違いがありました** video_urlはこれでした: "" **そして今はjsonデータにnullがあります。何時間も探している。このマシンは大変です。おかげです。 –

関連する問題