我有结构
type tySurvey struct { Id int64 `json:"id,omitempty"` Name string `json:"name,omitempty"` }
我做json.Marshal在HTML页面中写入JSON字节。 jQuery修改对象中的名称字段,并使用jQueries JSON.stringify和jQuery将字符串发送到Go处理程序来编码对象。
id字段编码为字符串。
已发送:{“id”:1}已收到:{“id”:“1”}
问题是,json.Unmarshal无法解密这个JSON,因为id不再是整数。
json: cannot unmarshal string into Go value of type int64
什么是处理这些数据的最佳方法?我不想手动转换每个字段。我想编写紧凑,无bug的代码。
报价不算太差JavaScript不适用于int64。
我想学习使用int64值中的字符串值来解析json的简单方法。
解决方法
@H_502_23@ 这可以通过向您的标签添加字符串来处理,如下所示:type tySurvey struct { Id int64 `json:"id,string,omitempty"` Name string `json:"name,omitempty"` }
这可以在Marshal的文档中找到。
请注意,您不能通过指定omitempty来解码空字符串,因为它仅在编码时使用。