Max*_*Max 32 jquery json marshalling go unmarshalling
我有结构
type tySurvey struct {
Id int64 `json:"id,omitempty"`
Name string `json:"name,omitempty"`
}
Run Code Online (Sandbox Code Playgroud)
我json.Marshal在HTML页面中写了JSON字节.jQuery修改name对象中的字段并使用jQueries编码对象JSON.stringify,jQuery将字符串发布到Go处理程序.
id 字段编码为字符串.
发送:{"id":1}收到:{"id":"1"}
问题是json.Unmarshal无法解组JSON,因为id它不再是整数.
json: cannot unmarshal string into Go value of type int64
Run Code Online (Sandbox Code Playgroud)
处理此类数据的最佳方法是什么?我不希望手动转换每个字段.我希望编写紧凑,无错误的代码.
行情也不算太糟糕.JavaScript与int64不兼容.
我想学习使用int64值中的字符串值解组json的简单方法.
Dmi*_*ing 57
这可以通过添加,string到您的标记来处理,如下所示:
type tySurvey struct {
Id int64 `json:"id,string,omitempty"`
Name string `json:"name,omitempty"`
}
Run Code Online (Sandbox Code Playgroud)
这可以在Marshal的文档中找到.
请注意,您无法通过指定解码空字符串,omitempty因为它仅在编码时使用.
小智 9
用 json.Number
type tySurvey struct {
Id json.Number `json:"id,omitempty"`
Name string `json:"name,omitempty"`
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42543 次 |
| 最近记录: |