Wpis z mikrobloga

Wie ktoś może jak odczytać w kotlinie przez retrofit2 takiego jsona:
{
"base": "USD",
"last_update": "2018-12-10T15:10:58.253Z",
"rates": {
"EUR": 0.8769574627,
"GBP": 0.7914459201
},
"status": 200,
"target": "EUR,GBP"
}

W zapytaniu mam coś takiego, ale z tego co pamiętam w javie można było zrobić jsonobject, a tu?

@GET("currency")
fun getCurrentCurrency(
@Query("base") base: String,
@Query("target") target: String
): Deferred

#programowanie #android #kotlin
  • 9
@mentalna_zielonka: Jsona mam przerobionego na pojo Currency, tylko jak widać w tym jsonie nie ma takiego obiektu, a jest od razu przejście na poszczególne pola i gdy próbuję ruszyć aplikację po obiekcie Currency to mam coś takiego:
java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 2 path $
@DanielAquarius: no to jedyne co przychodzi mi do głowy: jeżeli jeszcze tego nie próbowałeś to stwórz obiekt zserializuj go do JSON-a, wrzuć stringa do logów i zobacz czy wygląda identycznie jak to co przychodzi. Z tego co tu podałeś to nie widzę błędu
@mentalna_zielonka: Tu raczej chodzi o to jak skonstruowany jest JSON. Tam nie ma obiektu Currency tylko odrazu są pola. Wsadziłem to w Currency, bo przecież musiałem zrobić pojo i Retrofit spodziewa się od razu Stringa, a dostaje obiekt. Przy Kotlinie siedzę dopiero tydzień, a w Javie jest coś takiego jak jsonobject na takie przypadki jak mój, a tutaj to nie działa i nie mogę znaleźć odpowiednika. Jutro jeszcze sprawdzę Twoją propozycję,