我无法正确生成能够兑换 JSON 日期的 kotlin 对象



那么我应该如何编写我的Evolution类,以便它在服务器响应时工作并收集JSON中的大量数据?

我的问题是在这个领域"检查列表"我不能把它挂载到对象上因为当我把它变成数组或对象时它会报错

JSON:

{
"message": "Consulta realizada com sucesso",
"data": [
{
"id": 120,
"tipo_evolucao_id": 5,
"tipo_evolucao": "Frequência Cardíaca",
"data_hora": "20/10/2021 às 13:39",
"responsavel": "Vinicius Marconi Vasconcelos Berni",
"evolucao": "Paciente vem apresentando resistência na administração dos medicamentos.",
"checklists": {
"Frequência Cardíaca": {
"label": "Frequência Cardíaca",
"itens": [
{
"pergunta": "Frequência observada",
"resposta": "1"
}
]
}
}
},
{
"id": 111,
"tipo_evolucao_id": 1,
"tipo_evolucao": "Necessidades Fisiológicas",
"data_hora": "19/10/2021 às 11:52",
"responsavel": "Vinicius Marconi Vasconcelos Berni",
"evolucao": "foi foi e foi",
"checklists": {
"Evacuação": {
"label": "Evacuação",
"itens": [
{
"pergunta": "Tipo",
"resposta": ""liquida""
},
{
"pergunta": "Quantidade",
"resposta": ""normal""
}
]
}
}
}
]
}

My Class Kotlin:

class Evolution {
@SerializedName("message")
@Expose
var message: String? = null
@SerializedName("data")
@Expose
var data: List<EvoData>? = null
}
class EvoData {
@SerializedName("id")
@Expose
var id: Int? = null
@SerializedName("tipo_evolucao_id")
@Expose
var tipoEvolucaoId: Int? = null
@SerializedName("tipo_evolucao")
@Expose
var tipoEvolucao: String? = null
@SerializedName("data_hora")
@Expose
var dataHora: String? = null
@SerializedName("responsavel")
@Expose
var responsavel: String? = null
@SerializedName("evolucao")
@Expose
var evolucao: String? = null
@SerializedName("checklists")
@Expose
var checklists: CheckLists? = null
}
class CheckLists {
@Expose
var checklist:  Checklist? = null
}
class Checklist {
@SerializedName("label")
@Expose
var label: String? = null

@SerializedName("itens")
@Expose
var itens: List<Itens>? = null
}
class Itens {
@SerializedName("pergunta")
@Expose
var pergunta: String? = null
@SerializedName("resposta")
@Expose
var resposta: String? = null
}

日志错误:

D/erro: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 1132 path $.data[2].checklists

那么我应该如何编写我的进化类,使它在服务器响应的时候工作,并收集JSON格式的大量数据?

checklistsJSON属性是一个Map,所以尝试以下操作:

class EvoData {
@SerializedName("id")
@Expose
var id: Int? = null
@SerializedName("tipo_evolucao_id")
@Expose
var tipoEvolucaoId: Int? = null
@SerializedName("tipo_evolucao")
@Expose
var tipoEvolucao: String? = null
@SerializedName("data_hora")
@Expose
var dataHora: String? = null
@SerializedName("responsavel")
@Expose
var responsavel: String? = null
@SerializedName("evolucao")
@Expose
var evolucao: String? = null
@SerializedName("checklists")
@Expose
var checklists: Map<String, Checklist> = emptyMap()
}

您可以删除您的CheckLists类。

最新更新