Как получить цитату String из ответа дооснащения 2? - PullRequest
0 голосов
/ 19 декабря 2018

Сейчас я получаю ответ следующим образом:

response.body = {users = [{identity = poJwA, firstname = abc, фамилия = abac, электронная почта = abac @ abc.com, profile_image = https://s3 -us-west-2.amazonaws.com / talent-advocate / default-avatar.png }, {identity = AbwOA, имя = abcd, фамилия = efgh, адрес электронной почты =jayhghl@o2h.com, profile_image = https://s3 -us-west-2.amazonaws.com / talent-advocate / default-avatar.png }

И я хочуответ в цитируемой строке, например:

{
   "data":[
      {
         "identity":"pdavp",
         "social_media":"twitter",
         "is_company":0,
         "site_identity":0,
         "active":1,
         "created_at":{
            "date":"2018-09-21 05:39:07.000000",
            "timezone_type":3,
            "timezone":"UTC"
         }
      }
   ]
}

, чтобы я мог преобразовать его в свой объект JSON.

Или я могу преобразовать ответ в свою пользовательскую модель, отличную от ответа API?

1 Ответ

0 голосов
/ 19 декабря 2018

Если вы хотите получить необработанный ответ на модифицированный вызов, вам нужно добавить конвертер Scalars.

В вашем файле build.gradle добавьте:

implementation 'com.squareup.retrofit2:converter-scalars:2.4.0'

Тогда, когда высоздайте свой экземпляр модификации, добавьте конвертер:

val retrofit: Retrofit = Retrofit.Builder()
            .baseUrl(URL)
            .client(OkHttpClient.Builder().build())
            .addConverterFactory(ScalarsConverterFactory.create()) // Add this line
            // Other converters or callbacks.
            .build()

Таким образом, вы сможете получить доступ к необработанной строке и обрабатывать json любым удобным для вас способом.

Но как совет,взгляните на Moshi из Square (или GSON), вы сможете конвертировать ваши ответы API JSON непосредственно в ваши объекты Java / Kotlin, и для этого тоже есть конвертер, вам просто нужноЧтобы добавить зависимость:

implementation 'com.squareup.retrofit2:converter-moshi:2.3.0'

, а затем добавьте конвертер для модернизации:

.addConverterFactory(MoshiConverterFactory.create())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...