我有这个简单的JSON字符串,我想在执行时user_id将其转换为字符串json.Unmarshal:
{"user_id": 344, "user_name": "shiki"}
Run Code Online (Sandbox Code Playgroud)
我试过这个:
type User struct {
Id string `json:"user_id,int"`
Username string `json:"user_name"`
}
func main() {
input := `{"user_id": 344, "user_name": "shiki"}`
user := User{}
err := json.Unmarshal([]byte(input), &user)
if err != nil {
panic(err)
}
fmt.Println(user)
}
Run Code Online (Sandbox Code Playgroud)
但我只是得到这个错误:
panic: json: cannot unmarshal number into Go value of type string
Run Code Online (Sandbox Code Playgroud)
Sim*_*ead 35
您可以使用Number作为别名的类型string:
type User struct {
Id json.Number `json:"user_id,Number"`
Username string `json:"user_name"`
}
Run Code Online (Sandbox Code Playgroud)
然后你可以在任何其他代码中简单地转换它:
stringNumber := string(userInstance.Id)
Run Code Online (Sandbox Code Playgroud)
游乐场:http://play.golang.org/p/kQ84VnvpWi
| 归档时间: |
|
| 查看次数: |
14225 次 |
| 最近记录: |