我在kotlin中使用retrofit2用于rest API并从服务器获取数据,但是,每次API发送的响应都有不同的、不同的JSON数据。我想处理动态JSON对象响应。我不知道该怎么做。
我为静态JSON数据创建了数据类,但希望是动态的。
data class GetDetails(
var Id: String? = null,
var UId: String? = null,
var DOB: String? = null,
var Name: String? = null,
var Address: String? = null
)
处理响应,使用
我想在Android客户端和Spring服务器之间创建一个REST API。我创建了一个OpenAPI 3.0规范,并使用来自的CLI生成器来创建客户机和服务器存根。
当与其他客户端访问服务器部件时,服务器部件按预期工作。
对于客户端,我通过参数--additional-properties=library=jvm-retrofit2.为Kotlin和Retrofit2使用生成器。我得到的是:
A ModelApi接口,定义端点模型类,包含模型基础设施包,包含ApiClient、ResponseExt、序列化程序、CollectionFormats和一些*适配器类
生成的模型类(缩写):
da
当我遇到这个错误时,我正与Moshi一起从一个API中提取JSON数据并将其映射到我的DTO数据类:
致命例外:主进程: com.squareup.moshi.kotlin.reflect.KotlinJsonAdapter.fromJson(KotlinJsonAdapter.kt:103) at com.squareup.moshi.kotlin.reflect.KotlinJsonAdapter.fromJson(KotlinJsonAdapter.kt:103) at com.squareup.moshi.internal.NullSafeJsonAdapter.fromJson(N
我有后端还我一些json。
我将其解析为我的类:
class SomeData(
@SerializedName("user_name") val name: String,
@SerializedName("user_city") val city: String,
var notNullableValue: String
)
使用gson转换器工厂:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(ENDPOINT)
.client(okHttpClient)
.addConve
我有一个用Kotlin编写的Android应用程序,它从API获取数据,现在它只是一个本地托管的JSON文件。当我试图获取数据时,我收到了一个错误,我的列表persons没有初始化,因此persons == null并且没有接收到数据。我不确定我做错了什么,也不知道如何解决这个问题。 模型 data class Person (
@Json(name = "personId")
val personId: Int,
@Json(name = "personName")
val name: String,
@Json(name =
在我的API中,如果请求没有通过验证,服务器会返回HTTP400响应代码,并提供详细的消息,这些消息应该被解析为响应。
例如:
public class RegistrationResponse {
private String emailError; // Detailed message. Null if no error occured
}
但在这种情况下,Robospice (Retrofit + OkHttp)会触发onRequestFailure()并显示消息"retrofit.RetrofitError: 400 BAD REQUEST“,当然,它不会解析任何内容
数据类中有以下属性
@Parcelize
@JsonClass(generateAdapter = true)
data class CatalogProduct(
@Json(name = "recommended")
val recommended: Int = 0
) : Parcelable
我得到以下错误:
Expected an int but was BOOLEAN at path $.products[0].recommended at $.products[0].recommended
由于我从API得到的响应可能不包含该值作为其可选的。
如果