Mam odpowiedź, która ma tablicę, ale w ciągu, muszę przeanalizować to za pomocą GSON.
Po pierwsze, muszę utworzyć tablicę json w następujący sposób:
val data = JSONArray(response)
Następnie używam GSON do analizowania.
Moja odpowiedź jest następująca:
[{"Response":"true","ServerMsg":"[{\"Type\":\"Settled\",\"Items\":\"[{\\\"ID\\\":\\\" 1\\\",\\\"Date\\\":\\\" 14 May 18\\\",\\\"Amount\\\":\\\" 1458 USD\\\",\\\"ReferenceID\\\":\\\" ECR18-25-0002\\\"}]\",\"Amount\":1458},{\"Type\":\"Open\",\"Items\":\"[]\",\"Amount\":0}]","ErrorID":"OK","ErrorMsg":null}]
Próbowałem użyć TypeToken
val gson = Gson()
val listTyle = object : TypeToken<List<Loandata>>() {}.type
loanList = gson.fromJson<List<Loandata>>(response, listTyle) as ArrayList<Loandata>?
Ale to nie zadziałało, czy ktoś może zasugerować, jak mogę przeanalizować ciąg bezpośrednio w mojej klasie POJO przy użyciu gson bez tworzenia tablicy jsonarray.
2 odpowiedzi
Możesz użyć http://www.jsonschema2pojo.org/ przekonwertować ciąg na GSON
Nie powinien zawierać // znaków. Przed przekazaniem do GSON usuń wszystkie // z odpowiedzi json, a następnie przekaż do funkcji GSON.
Twój JSON powinien wyglądać tak.
[{
"Response": "true",
"ServerMsg": [{
"Type": "Settled",
"Items ": [{
"ID": " 1",
"Date": " 14 May 18",
"Amount": " 1458 USD",
"ReferenceID": " ECR18-25-0002"
}],
"Amount ": 1458
}, {
"Type ": "Open ",
"Items ": " []",
"Amount ": 0
}],
"ErrorID": "OK",
"ErrorMsg": null
}]
Podobne pytania
Nowe pytania
android
Android to mobilny system operacyjny Google, używany do programowania lub tworzenia urządzeń cyfrowych (smartfony, tablety, samochody, telewizory, Wear, Glass, IoT). W przypadku tematów związanych z Androidem użyj tagów specyficznych dla Androida, takich jak android-intent, android-activity, android-adapter itp. W przypadku pytań innych niż programowanie lub programowanie, ale związanych ze strukturą Androida, użyj tego linku: https: // android.stackexchange.com.