1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | package main
import (
"encoding/json"
"fmt"
)
type IT struct {
Company string `json: "company" `
Subjects []string `json: "subjects" `
IsOk bool `json: "isok" `
Price float64 `json: "price" `
}
func main() {
jsonBuf := `
{
"company" : "itcast" ,
"subjects" : [
"Go" ,
"C++" ,
"Python" ,
"Test"
],
"isok" : true,
"price" : 666.666
}`
var tmp IT
err := json.Unmarshal([]byte(jsonBuf), &tmp)
if err != nil {
fmt.Println( "err = " , err)
return
}
type IT2 struct {
Subjects []string `json: "subjects" `
}
var tmp2 IT2
err = json.Unmarshal([]byte(jsonBuf), &tmp2)
if err != nil {
fmt.Println( "err = " , err)
return
}
fmt.Printf( "tmp2 = %+v\n" , tmp2)
}
|