¿Cómo puedo analizar una cadena JSON con pares de clave/valor conocidos y desconocidos? en una estructura Go? Los campos desconocidos pueden tener cualquier nombre y tipo de valor (cadena, bool, float64 o int).
Cree una estructura con los campos conocidos y una porción de mapas para los campos desconocidos. :
type Message struct {
Known1 string `json:"known1"`
Known2 string `json:"known2"`
Unknowns []map[string]interface{}
}
Descomponga la cadena JSON en esta estructura:
json.Unmarshal([]byte(jsonMsg), &msg)
El campo Desconocidos contendrá una lista de mapas que representan los pares clave/valor desconocidos.
Doble Unmarshal:
Desclasificación y conversión de tipos:
Las tres soluciones son válidas, pero la más simple y elegante es el enfoque inicial basado en estructuras. Evita la necesidad de desclasificaciones adicionales o conversiones de tipos manuales.
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