type ServerTime struct {
Iso string `json:"iso"`
Epoch string `json:"epoch"`
}
Iso是一个string类型的,ServerTime这个结构体的成员,后面的`json:"iso"` 是什么意思?
Unmarshal的第二个参数v,是一个指针, 如果这个指针指向的对象, 跟encoded json data并不是完全对应, 也不会影响?
Unmarshal会把能对应上的, 对应进去, 比如我注释掉User这个struct的第三个字段Age, 结果就会输出:
&{zhangsan 123456}
```go
package main
import (
"fmt"
"encoding/json"
)
type User struct {
Name string "name"//结构的字段可以带标签字面量,成为字段的属性
Pass string "pass"
// Age int16 "age"
}
func main() {
var json_string = `{"name":"zhangsan","pass":"123456","age":20}`
// usr := &User{}
var usr = new (User)
json.Unmarshal([]byte(json_string), usr)//解析json字符串
fmt.Println(usr)
}
```
#7
更多评论
嗯,我遇到的是这个错误:
json: cannot unmarshal array into Go struct field
意思是说...go没法反序列化一个array到go的结构体字段里去..?
#2