Это происходит потому, что анализатор json не может проанализировать титровальный объект.
java.lang.IllegalStateException: ожидаемая строка, но была BEGIN_OBJECT в строке 1 столбца 373 пути $ [0] .title
Чтобы избежать этой ошибки во время выполнения, нажмите здесь, чтобы создать java pojo для ожидаемого json , а затем используйте его в качестве типа возврата в вашем API для модификации.
Попробуйте использовать следующие java pojo для вашего json, который создан с помощью вышеупомянутого инструмента.
Post.kt
data class Post(
@PrimaryKey(autoGenerate = true)
@SerializedName("id")
val id: Int,
@SerializedName("title")
@Embedded
val title: Title,
@SerializedName("excerpt")
@Embedded
val excerpt: Excerpt,
@SerializedName("content")
@Embedded
val content: Content,
@SerializedName("date")
val date: String,
@SerializedName("modified")
val modified: String
)
Content.kt
class Content {
@SerializedName("rendered")
var content: String? = null
}
Title.kt
class Title {
@SerializedName("rendered")
var title: String? = null
}
Excerpt.kt
class Excerpt {
@SerializedName("rendered")
var excerpt: String? = null
}
Импорт следующей зависимости для Gson
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
@ SerializedName: Дайте возможность сопоставить ключ JSON с переменной-членом java, имя которой отличается от имени ключа JSON.
Проверить этот вопрос