2017-09-21 4 views
-2

JSONデータを返すコードがあります。私はそれから特定の値を選ぶ必要がありますが、いくつかのキーは例外をスローし、いくつかは成功します。ここで JSONObject ["keyName"]キーが存在してもJsonデータの解析中に例外が見つかりません

ここ
{"value":[{"Name":"abc.txt","DateTimeLastModified":"2017-09-21T20:11:04Z","IsInline":false,"ContentBytes":"some byte data","IsContactPhoto":false}]} 

が、私はそれ

JSONObject jsonObject = response.getBody().getObject(); 
    JSONArray tsmresponse = (JSONArray) jsonObject.get("value"); 
    for(int i=0; i<tsmresponse.length(); i++){ 
     System.out.println("Name:: "+tsmresponse.getJSONObject(i).getString("Name"));   
      } 

から値を選択しようとしている方法ですJSONデータでコードがスロー例外org.json.JSONException:JSONObject [」名前 "]が見つかりません。DateTimeLastModifiedの値を読み取ることができます。

この問題を解決するのを手伝ってください。

+1

を動作するかどうか、私はそれはあなたがデバッグする方法を学習するための時間だと思います。 – rmlan

+0

アイ先生。しかし、私はコメントにもっと役立つものを探していました。私が何か間違っているかどうか教えてください:) – rats

+0

あなたが投稿したJSON文字列に対して投稿したコードを実行しました。これは、あなたが投稿したものが、あなたがそうだと思っても、全体の話を伝えていないことを意味します。あなたが「何か間違ったことをした」と言えばここからは言えませんが、デバッガがそのことを確かに判断するのに役立つでしょう。 – rmlan

答えて

0

これは、あなたのために働く、次のようにコードを変更する必要があります

JSONObject jsonObject = response.getBody().getObject(); 
JSONArray tsmresponse = jsonObject.getJSONArray("value");//here is your modification 
for(int i=0; i<tsmresponse.length(); i++){ 
    System.out.println("Name:: "+tsmresponse.getJSONObject(i).getString("Name"));   
     } 

はそれを試してみて、私を確認し、これは

+0

ありがとう!これはうまくいった。 – rats

関連する問題