¿Cómo reconocer el valor vacío y el campo no especificado al desarmar en Go?
Me gustaría saber si es posible diferenciar un valor vacío y un valor de campo no especificado.
Aquí hay un ejemplo:
var jsonBlob = []byte(`[
{"Name": "A", "Description": "Monotremata"},
{"Name": "B"},
{"Name": "C", "Description": ""}
]`)
type Category struct {
Name string
Description string
}
var categories []Category
err := json.Unmarshal(jsonBlob, &categories)
if err != nil {
fmt.Println("error:", err)
}
fmt.Printf("%+v", categories)
También disponible aquí:https://play.golang.org/p/NKObQB5j4O
Salida:
[{Name:A Description:Monotremata} {Name:B Description:} {Name:C Description:}]
Entonces, en este ejemplo, ¿es posible diferenciar la descripción de la categoría B de la categoría C?
Solo quiero poder diferenciarlos para tener un comportamiento diferente en el programa.