我正在尝试使用
例如,
我搜索了如何使用
map[string]interface{}
类型创建Go中的JSON表示。我正在处理JSON字符串,但很难弄清如何避免JSON取消编组器自动将数字处理为float64。这会导致以下错误:例如,
"{'a': 9223372036854775807}"
应该是 map[string]interface{} = [a 9223372036854775807]
,但实际上它是map[string]interface{} = [a 9.2233720368547758088E18]
。我搜索了如何使用
json.Number
来避免此问题,但我更喜欢使用以上指定的map
类型。
map[string]int
或struct{ a int }
)。或者您可以接受它是一个浮点数,并将其简单地类型转换为整数。 - Kaedysencoding/json
默认使用float64作为json数字。如果类型转换适用于大int64值,那么类型转换将是最简单的解决方案。我猜我得编写自定义编组器或指定映射类型。谢谢。 - Steven