那么我应该如何编写我的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格式的大量数据?
checklists
JSON属性是一个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
类。