golang simplejson mustint64不会从字符串转换为int64

时间:2017-09-25 08:30:21

标签: go casting simplejson

我使用的是simplejson,它提供了类型断言器。

fmt.Printf("%s %s", m.Get("created_time").MustString(), m.Get("created_time").MustInt64())

上面的代码显示了这个结果:

1506259900 %!s(int64=0)

所以MustInt64()给出0而不是转换的Int64值。

是不是因为1506259900太大而无法转换?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

原来的json是:

{"created_time":"1505733738"}

{"created_time":1505733738}

它最初是STRING,而不是NUMBER。

因此,当对该json使用MustInt64()时,它应返回0,因为类型不匹配。

正确的方法是使用strconv。

i64, err := strconv.ParseInt(m.Get("created_time").MustString(), 10, 64)

你会得到你想要的i64。