Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Criar data class para receber um JSON

data class Cells(
        var id: Int,
        var type: Int,
        var message: String,
        var hidden: Boolean,
        var topSpacing: Double,
        var show: Int?,
        var requerid: Boolean
)
{
  "cells": [
        {
            "id": 1,
            "type": 2,
            "message": "Olá, primeiro se apresente com o seu nome:",
            "typefield": null,
            "hidden": false,
            "topSpacing": 60.0,
            "show": null,
            "required": false
        }
}

Como que eu faço pra criar esse data class? O que são os "moreInfo", "Info", "downInfo" da estrutura do JSON?

data class Screen(???)

{
  "screen": {
          "title": "YYYYYY",
          "fundName": "XXXXXX",
          "whatIs": "O que é?",
          "definition": "XXXXXXXX",
          "riskTitle": "YYYYYYYY",
          "risk": 4,
          "infoTitle": "YYYYYYYYYY",
          "moreInfo": {
              "month": {
                  "fund": 0.3,
                  "CDI": 0.3
              },
              "year": {
                  "fund": 13.01,
                  "CDI": 12.08
              },
              "12months": {
                  "fund": 17.9,
                  "CDI": 17.6
              }
          },
          "info": [
              {
                    "name": "Taxa de administração",
                    "data": "0,50%"
                }

          ],
          "downInfo": [
              {
                  "name": "Essenciais",
                  "data": null
              }

          ]

    }
}
2 respostas

Oi Cristiano, tudo bem?

Considerando o seu modelo de json, o moreInfo, info e downInfo são objetos de screen.

Porém, o moreInfo item 3 objetos e os outros 2 listas, então é só criar essas classes que o bind é realizado.

Tenta criá-las e me mostra como ficou.

[]s

solução!

Ficou assim...

data class Screen (

    val title : String,
    val fundName : String,
    val whatIs : String,
    val definition : String,
    val riskTitle : String,
    val risk : Int,
    val infoTitle : String,
    val moreInfo : MoreInfo,
    val info : List<Info>,
    val downInfo : List<DownInfo>
)

MoreInfo

data class MoreInfo (

    val month : Month,
    val year : Year,
    val months12 : Months12
)

Month

data class Months12 (

    val fund : Double,
    val cdi : Double
)

Site sensacional que já gera o data classe pelas informações fornecidas pelo JSON...

https://www.json2kotlin.com/