2016-06-16 3 views
1

こんにちは、私は以下のjson応答を持っています。 JS私はその配列配列から複数のjsonオブジェクトを読み取ることができません

data.push(details); 

にでJSONレスポンスを押し、Javaクラスでこの削除変数を読み込み、データ[]のような配列変数を作成している中

{ 
    "details":[ 
         { 
         "name":'xxx yyy', 
         "gen":'xxx', 
         "city":'xxx, ccc'      
         } 
        ] 
}, 
{ 
    "details":[ 
         { 
         "name":'ttt eee', 
         "gen":'rrr', 
         "city":'qqq, sdf'      
         } 
        ] 
} 

JSONObject jsonObject = new JSONObject(data);けど

jsonArrayを使用して反復処理を行うと、最初のjson応答とjsonArrayの長さが2の代わりに1として返されます

for (int i = 0; i < jsonArray.length(); i++) {        
           JSONObject objectInArray = jsonArray.getJSONObject(i); 
           String pdm = objectInArray.getString("name"); 
           } 

あなたがこの上で私を助けてください可能性があり、事前のおかげ

+2

変更変数名、 'DELETE'がキーワード – sabith

答えて

1

あなたのJSONは無効です:

  1. 項目のリストを配列で囲む必要があります。
  2. 文字列を二重引用符で囲む必要があります。一重引用符で囲む必要はありません。あなたの質問から

は、それはあなたがあなたのdelete(またJavascriptのキーワードではない変数名を選択する方が良いかもしれません)配列にプッシュしていて、どのようにあなたがそれを処理している正確に何を伝えることは非常に困難ですJava、しかし、私は上記のポイント1があなたを上回っていると思います。

+0

である、これは私のJSONオブジェクトであるあなたがそれをフォーマットしてください可能性があり,,テキスト= \t '{ "詳細":[' + '{ "名前":\' '+ XXX \ "、" gen ":\" + xxx + '\ "、" city ":\"' + xxx、ccc + '\'}]} '; – chandrasekhar

+0

@chandrasekhar http://jsonlint.com/でjsonを確認してください –

+0

@chandrasekharいいえ私はあなたのJSONをフォーマットしませんが、私の知る限り、配列には1つの要素しかありません。 –

関連する問題