reconociendo campos sin especificaciones y no especificados durante JSON unmarShaling en go
en JSON, puede ser desafiante para diferenciar entre los valores voides y los campos no especificados cuando la descarga de los datos de GO en GO. Json:
[ {"Nombre": "A", "Descripción": "Monotremata"}, {"Nombre": "B"}, {"Nombre": "C", "Descripción": ""} ]
[ {"Name": "A", "Description": "Monotremata"}, {"Name": "B"}, {"Name": "C", "Description": ""} ]
type Category struct { Cadena de nombre Cadena de descripción }
type Category struct { Name string Description string }
[{nombre: una descripción: monotremata} {nombre: b Descripción:} {nombre: c Descripción:}]
[{Name:A Description:Monotremata} {Name:B Description:} {Name:C Description:}]
para diferenciar entre estos casos, un enfoque es usar punteros para campos opcionales. Al cambiar el tipo de descripción a un puntero, podemos distinguir entre un valor de cadena vacío y un valor nil (indicando un campo no especificado):
Tipo de categoría Struct { Cadena de nombre Descripción *cadena }
type Category struct { Name string Description *string }
[{nombre: una descripción: 0x1050c150} {nombre: b Descripción:
[{Name:A Description:0x1050c150} {Name:B Description:} {Name:C Description:0x1050c158}]
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3