6
respostas

Problema no retorno do JSON

Prezados meu JSON esta retornando sem os dados. Por exemplo, se um produto esta em um registro de uma lista. E na nessa mesma lista o produto volta a aparecer o JSON não mostra o objeto completo. Só uma especie de chave. Segue código.

produto{
    @jsonId: "ef51cc28-b119-4355-b12b-65e143b59a45"
    id: 2
    nome: "Orgânico"
}

produto{
    @jsonId: "ef51cc28-b119-4355-b12b-65e143b59a45"
}

Alguem sabe porque?

6 respostas

E ai, Adan, tudo bem?

Aonde você está armazenando o seu JSON? Se você estiver fazendo isso sem um banco de dados, toda vez que você atualizar o navegador, ele vai limpar os dados da memória e seu json fica vazio

Allan,

Tem Banco de dados. AngularJS no Front. Java + Spring Boot no back. Banco Mysql.

Você está fazendo POST via Ajax ?

Se sim, configura uma mensagem pra retornar quando você tiver salvo ele no banco, eu acho que o problema não é retornar, acredito que não está nem chegando no banco de dados.

Você consegue visualizar sua tabela com os dados do JSON se consultar no MySQL?

Se você consegue visualizar ele no BD, pode ser coisa de você parsear seu JSON quando ele chegar no front

Gravando perfeitamente no banco. Vou tentar ser mais claro.

tenho vários registros no banco.

Exemplo:

Tabela itens

Produto | Condicão | Produtividade
Arroz        1            500
Feijão         2            300
Alface        1            400

Tabela Condição

id        |    descricao
1            Tradicional
2            Organico

Ao chamar os 3 registros da tabela Item e enviar via Json pro front a condição do alface não aparece, pois o Arroz já tem a condição 1. Quando vou ver o Json aparece o seguinte:

item{
    @jsonId: "ef51cc28-b119-4355-b12b-65e143b59a45"
    produto: Arroz
    condicao: {
        @jsonId:"61329ccc-c0d4-4916-a73d-9890022dbc1f"
        id: 1
        descricao: "Tradicional"
    }
    produtividade: 500
}
item{
    @jsonId: "ca4b6068-5b41-4619-9d3a-bc170caaf2a0"
    produto: Feijão
    condicao: {
        @jsonId:"6c4dca9e-5649-4ca3-a149-95656b334149"
        id: 2
        descricao: "Orgânico"
    }
    produtividade: 300
}
item{
    @jsonId: "85e8c933-9164-4fe7-8e9e-31fcd09622a4"
    produto: Alface
    condicao: {
        @jsonId:"61329ccc-c0d4-4916-a73d-9890022dbc1f"
    }
    produtividade: 400
}

A condição do alface trás igual a condição do arroz. @jsonId:"61329ccc-c0d4-4916-a73d-9890022dbc1f" Mas não trás os dados. Id e descrição.

Tentou executar o JSON.parse() na resposta da sua busca? ( pode ser que ele tenha sido codificado no BD, mas não tenha decodificado ao chegar )

Você está com esse BD no localhost? Se não, pode me passar o endereço pra eu tentar um Ajax pra ele?

Se ele n'ao tiver no localhost, pode mandar o código de exemplo que está usando pra buscar os dados no MySQL?