アプリでは、有効な文法とキーを使用して正しく解析されるJSONフィードがいくつかあります。私が代わりにJSONArray
を使用してみましたこのJSONレスポンスの繰り返し/構文解析
{
"10":["111","aaa","bbb","213sdg","1.0","-0.343"],
"20":["111","aaa","bbb","213sdg","1.0","-0.343"],
"30":["111","aaa","bbb","213sdg","1.0","-0.343"],
"40":["111","aaa","bbb","213sdg","1.0","-0.343"],
"50":["111","aaa","bbb","213sdg","1.0","-0.343"]
}
:
try {
JSONObject jsonObj = new JSONObject(response);
if(jsonObj.length() > 0){
Iterator keys = jsonObj.keys();
while (keys.hasNext()) {
String key = (String) keys.next();
JSONObject obj = (JSONObject) jsonObj.get(key);
String myString = obj.get("fieldname").toString();
...
}
}
} catch(e) {
...
}
しかし、私は1つのJSONフィードが若干異なる解析する必要があり、次のようなスタイルです:私は、次のような方法論を使用しますJSONObject
ですが、フィードにフィールド名/キーがない場合は、フィールド名/キーを要求するためのtry {}句がエラーをキャッチしています。
フィード出力を変更せずに、このスタイルフィードを繰り返し処理する簡単な方法はありますか?多くのおかげで
EDIT:変更JSONオブジェクトのキーは、私が実際に
jsonには1つのJsonObjectしかありません。 whileループで2番目のjsonObjectを使用するのはなぜですか? –
投稿したJSONにそのコードは適用されません。 2番目のobjは "行"のJSONObjectを取得して解析し、その行のフィールド値を取得することでした。 – Jammo
行にjsonオブジェクトがありません。あなたの配列は単に文字列を含んでいます –