package main
import("encoding/json""fmt")type Data struct{
Status int`json:"status"`
Msg int`json:"msg"`}funcmain(){
msg :="{\"status\":200, \"msg\":18}"var data Data
if err := json.Unmarshal([]byte(msg),&data); err ==nil{
fmt.Println(data.Status)}else{
fmt.Println(err)}}
jsonData :=[]byte(`{"Name":"Eve","Age":6,"Parents":["Alice","Bob"]}`)var v interface{}
json.Unmarshal(jsonData,&v)
data := v.(map[string]interface{})for k, v :=range data {switch v := v.(type){casestring:
fmt.Println(k, v,"(string)")casefloat64:
fmt.Println(k, v,"(float64)")case[]interface{}:
fmt.Println(k,"(array):")for i, u :=range v {
fmt.Println(" ", i, u)}default:
fmt.Println(k, v,"(unknown)")}}