1 回答

TA贡献2021条经验 获得超8个赞
使用 JSON 结构标记中的字符串选项。它正是为以下用例而设计的:
“字符串”选项表示字段以 JSON 格式存储在 JSON 编码字符串中。它仅适用于字符串、浮点、整数或布尔类型的字段。在与 JavaScript 程序通信时,有时会使用这种额外的编码级别
type Foo struct {
A int64 `json:"A,string"`
B uint64 `json:"B,string"`
}
func main() {
x := &Foo{}
_ = json.Unmarshal([]byte(`{"A":"12345678901234567", "B":"98765432101234567"}`), x)
fmt.Println(x) // &{12345678901234567 98765432101234567}
b, _ := json.Marshal(x)
fmt.Println(string(b)) // {"A":"12345678901234567","B":"98765432101234567"}
}
游乐场: https://play.golang.org/p/IfpcYOlcKMo
如果您无法修改现有的结构标签(但您的示例没有),则必须在自定义和方法中重新发明此标签选项的实现。stringUnmarshalJSONMarshalJSON
- 1 回答
- 0 关注
- 200 浏览
添加回答
举报