さて、私はここで苦労しています。私は(!私が最後に中括弧が欠落していた編集済み)(「結果」と呼ばれる)私のPHPサーバーから、次のJSONフォーマットされた文字列を取得しています:JavaのJSONオブジェクトからの値の抽出に問題があります
{「L1」:[{「ユーザー名」:」 「User2」、「Avatar」:「2」)、「UserName」:「User3」、「Avatar」:「3」}、「User1」、「Avatar」:「1」、 「UserName」:「User5」、「Avatar」:「5」}}}
私はL1オブジェクト(?)からアバター番号を持つArrayListを抽出しようとしています。値 [{ "ユーザー名": "ユーザー1"、 "アバター": "1"}、{ "ユーザー名": "ユーザー2"、 "アバター" が、私はエラー
org.json.JSONExceptionを得ます: "2"}、{ "ユーザー名": "ユーザ3"、 "アバター": "3"}] タイプのL1でorg.json.JSONArrayはJSONObject
ここ
に変換することができない私のコードは次のとおり
私が使用している場合はtry {
JSONObject jsonObject = new JSONObject(result);
JSONArray jsonArray = new JSONArray(jsonObject.getJSONObject("L1"));
ArrayList<Integer> arrList = new ArrayList<>();
if (jsonArray != null) {
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject json = jsonArray.getJSONObject(i);
arrList.add(json.getInt("Avatar"));
AvatarList = arrList;
}
}
String query_result = "SUCCESS";
if (query_result.equals("FAILURE")) {
} else {
setAvatars(AvatarList);
}
} catch (JSONException e) {
Log.e("log_tag", "Error converting result "+e.toString());
}
同じエラーが発生します。 提案がありますか? ありがとうございます!
(編集:私は、オリジナルのポストでミスをしたJSON文字列に欠落している中括弧があったことをキャッチする人に感謝します。)
あなたはjsonlint.comでこのJSONを閲覧した場合、あなたは適切 –
はまたhttp://jsonpath.com/ –
あなたのJSONが無効で遊んでフォーマットされていないことがわかります。バックエンドで適切にフォーマットしてください。json 'jsoneditoronline.org'を貼り付けてエラーを確認してください。 –