go 语言学习笔记(17)—— json解析
json解析到结构体
package main
import (
"encoding/json"
"fmt"
)
type IT struct {
Company string
Subjects []string
Isok bool
Price float64
}
func main() {
jsonBuf := `
{
"Company": "hhh",
"Subjects": [
"go",
"python",
"c",
"c++"
],
"Isok": true,
"Price": 6666.6
}
`
var tmp IT
err := json.Unmarshal([]byte(jsonBuf), &tmp)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("%+v", tmp)
}
}
json解析到map
package main
import (
"encoding/json"
"fmt"
)
func main() {
jsonBuf := `
{
"Company": "hhh",
"Subjects": [
"go",
"python",
"c",
"c++"
],
"Isok": true,
"Price": 6666.6
}
`
mp := make(map[string]interface{}, 4)
err := json.Unmarshal([]byte(jsonBuf), &mp)
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("%+v", mp)
}
}