En este artículo, aprenderemos cómo puede analizar los datos JSON utilizando el paquete de codificación/JSON.
Golang Unmarshal
Unmarshal es el contrario de Marshal. Le permite convertir datos de bytes en la estructura de datos original.
En Go, el JSON.El método unmarshal () maneja la soltera.
Considere una cadena JSON de ejemplo como:
"Full_name": "John Doe", "Age": 32, "Retirado": Falso, "Salario": 140000
Comencemos creando una estructura para que coincida con el código de byte después de realizar el unmarshal.
Escriba la estructura de usuario
Full_name string 'json: "full_name"'
Age String 'JSON: "Age"'
Bool 'json retirado: "retirado"'
Salario int 'json: "salario"'
El siguiente paso es crear la cadena JSON en el código de byte. Una vez que tenemos el código de byte, podemos desmarcarlo en una estructura.
user_info_bytes: = [] byte (user_info)
Una vez que tenemos el código de byte, podemos soltarlo en estructura.
Usuario de empleados de VAR
json.Unmarshal (user_info_bytes y empleado)
Una vez que tenemos la estructura, podemos acceder a los valores como:
fmt.Println (empleado.Nombre completo)
fmt.Println (empleado.Edad)
fmt.Println (empleado.Jubilado)
fmt.Println (empleado.Salario)
El código anterior debe devolver:
John Doe
32
FALSO
140000
El código fuente completo es el que se muestra a continuación:
FUNC unmarshal_struct ()
user_info: = '"full_name": "John Doe", "Age": 32, "Retired": False, "Salario": 140000'
Escriba la estructura de usuario
Full_name string 'json: "full_name"'
Age String 'JSON: "Age"'
Bool 'json retirado: "retirado"'
Salario int 'json: "salario"'
user_info_bytes: = [] byte (user_info)
Usuario de empleados de VAR
json.Unmarshal (user_info_bytes y empleado)
fmt.Println (empleado.Nombre completo)
fmt.Println (empleado.Edad)
fmt.Println (empleado.Jubilado)
fmt.Println (empleado.Salario)
Conclusión
Esta fue una guía breve que ilustra cómo convertir los datos de JSON en una estructura. Para obtener más información, consulte nuestro tutorial sobre Golang Marshal y Unmarshal.
Gracias por leer y feliz codificación!