Recognizing Void and Unspecified Fields during JSON Unmarshaling in Go
In JSON, it can be challenging to differentiate between void values and unspecified fields when unmarshaling data into Go structures.
For example, consider the following JSON:
[ {"Name": "A", "Description": "Monotremata"}, {"Name": "B"}, {"Name": "C", "Description": ""} ]
e uncarshal o json em uma fatia de instâncias de categoria, obtemos a seguinte saída:
type Category struct { Name string Description string }
aviso que a notificação de belics the Field: BIONST: {Nome: C. Nos dois casos, o campo Descrição é definido como uma string vazia na representação Go. Ao alterar o tipo de descrição para um ponteiro, podemos distinguir entre um valor de string vazio e um valor nulo (indicando um campo não especificado):
[{Name:A Description:Monotremata} {Name:B Description:} {Name:C Description:}]
Quando solucionamos o JSON nessa estrutura modificada, obtemos a seguinte saída:
[{nome: a descrição: 0x1050c150} {name: b Descrição:
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3