viniciussanchez / dataset-serialize

JSON to DataSet and DataSet to JSON converter for Delphi and Lazarus (FPC)
MIT License
645 stars 156 forks source link

LoadFromJson com chave que possue "underline" #212

Closed bitencourtrafael closed 11 months ago

bitencourtrafael commented 11 months ago

Durante alguns testes precisei consumir uma api que me retornou as chaves do json com underline como separador, porém ao tentar importar com o LoadFromJson o campo não preenche na query fica vazio, já aconteceu algum caso assim?

Ex: qrySamples.LoadFromJSON('{"access_token":"XXXXyyyyAAAaaaa"}');

viniciussanchez commented 11 months ago

Bom dia.. isso é configuração.

image

Só alterar para o formato que você quer trabalhar... Lembrando que essas configurações, podem ser definidas uma única vez, para o projeto. Um exemplo, pode colocar elas no DPR da aplicação.

bitencourtrafael commented 11 months ago

Olá Vinicius, funcionou perfeitamente o que você me indicou, porém me deparei com outra situação, quando tenho uma chave e nela temos um array, nesse caso também esta ficando em branco, dei uma olhada na documentação para ver se poderia ser alguma outra configuração mas não obtive sucesso.

Ex:

qrySamples.LoadFromJSON('{"items": [{"id": "id1"},{"id": "id1"}]}')
viniciussanchez commented 11 months ago

Da uma olhada na pasta samples. Cada nível do array corresponde a um dataset. Ou seja teria que fazer um mestre detalhe de datasets para conseguir carregar algo desse tipo.

[
  {
    "pedido": 1,
    "valor": 10,
    "itens": [
      {
        "codigo": 1,
        "descricao": "teste"
      },
      {
        "codigo": 2,
        "descricao": "teste 2"
      }
    ]
  },
  {
    "pedido": 2,
    "valor": 10,
    "itens": [
      {
        "codigo": 1,
        "descricao": "teste"
      },
      {
        "codigo": 2,
        "descricao": "teste 2"
      }
    ]
  }
]

esse json de cima mesmo, tem 2 querys, uma para carregar o primeiro nivel que é o pedido, e outra para carregar o segundo que é os itens.