その場合、下記のような関数を使う事で
Arrayだった場合 : そのままJSONArrayとして取得
Objectだった場合 : 要素として一つだけJSONObjectが含まれたJSONArray
それ以外 : 要素0のJSONArray
として一括でArrayとして扱えます。
private JSONArray convertJSONArray(String jsonString) {
JSONArray ret=null;
try {
ret = new JSONArray(jsonString);
Log.d(TAG, "convertJSONArray : Array");
Log.d(TAG, "convertJSONArray : ret = "+ ret.toString());
return ret;
} catch (JSONException e) {
ret = new JSONArray();
try {
JSONObject json = new JSONObject(jsonString);
ret.put(json);
Log.d(TAG, "convertJSONArray : Object");
} catch (Exception e1) {
Log.d(TAG, "convertJSONArray : Fails");
}
Log.d(TAG, "convertJSONArray : ret = "+ ret.toString());
return ret;
}
}
まあえばって公開するほどのコードでも無いんですが、いちいちArrayとObjectを切り替えるのがコード上面倒だったもんで、ちょっと悩みました。
なのでせっかくなんで公開しておきます。