/ / Nie można rozwiązać org.json.JSON.typeMismatch w Androidzie - Android, Json

Nie można rozwiązać org.json.JSON.typeMismatch w systemie Android - Android, json

Mam obecnie problem z konwersjąnastępujący typ danych JSON. Próbuję wyświetlić nazwę książki i pokazać rozdziały i ich zawartość w Androidzie. Jednak otrzymuję błąd JSON.typeMismatch. Myślę, że kod jest nieprawidłowy, ale nie mogę znaleźć problemu. Poniżej dodałem mój przykładowy kod.

Pomocne będą niektóre próbki lub wskazówki. Chciałbym usłyszeć od ciebie!

(
{
"abbrev" : "abbrev"
"book" : "name"
"chapters":
(
{"1": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}},
{"2": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}},
{"3": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}}
)
}
)

Oto niektóre z moich kodów, które próbowałem. Chcę tylko uzyskać dane ciągu.

 mCreateJson = new CreateJsonData(this, "sample.json");
JSONObject jsonObj = mCreateJson.getJsonObject(); ⇦ // Contains above json objects
JSONArray jsonArray;
try {
for (int i = 0; i < jsonObj.length(); i++) {
jsonArray = jsonObj.getJSONArray("chapters");
android.util.Log.d("Test", jsonArray.toString());
for(int a = 0; a < jsonArray.length(); a++ ) {

}
}
} catch (JSONException e) {
e.printStackTrace();
}

Odpowiedzi:

3 dla odpowiedzi № 1

oto twój Json

{
"abbrev" : "abbrev"
"book" : "name"
"chapters":
[
{"1": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}},
{"2": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}},
{"3": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}}
]
}

i parsowanie

 mCreateJson = new CreateJsonData(this, "sample.json");
JSONObject jsonObj = mCreateJson.getJsonObject(); ⇦ // Contains above json objects
JSONArray jsonArray;
try {
for (int i = 0; i < jsonObj.length(); i++) {
jsonArray = jsonObj.getJSONArray("chapters");
android.util.Log.d("Test", jsonArray.toString());
for(int a = 0; a < jsonArray.length(); a++ ) {
JSONObject js = jsonArray.getJsonObject(a);
String ss1=js.getString("1");
//and so on as your json
}
}
} catch (JSONException e) {
e.printStackTrace();
}

0 dla odpowiedzi nr 2

Twój format danych Json działa. Tak powinno być

    {
"abbrev" : "abbrev",
"book" : "name",
"chapters":
[
{"1": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}},
{"2": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}},
{"3": {"1": "...", "2": "..."}}, {"2": {"1": "...", "2": "..."}}
]
}

Potem możesz użyć http://www.jsonschema2pojo.org/ aby przeanalizować dane JSON w klasy modelu i możesz użyć biblioteki GSON do przeanalizowania danych.