我正在使用simplejson,它提供了类型断言器。
fmt.Printf("%s %s", m.Get("created_time").MustString(), m.Get("created_time").MustInt64())
上面的代码显示了此结果:
1506259900 %!s(int64=0)
因此MustInt64()给出的是0而不是转换后的Int64值。
是因为1506259900太大而无法转换吗?
谢谢您帮忙!
最佳答案
原始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。
关于go - golang simplejson mustint64不会从字符串转换为int64,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46400746/