3 回答
TA贡献1871条经验 获得超13个赞
尝试使用类型删除所有这些不必要的赋值和类型断言;
type RenameMe struct {
Status string `json:"status"`
Astatus string `json:"a_status"`
Method string `json:"method"`
Path string `json:"path"`
ElementUid string `json:"element_uid"`
TimeLocal time.Time `json:"time_local"`
Etime time.Time // deal with this after the fact
}
data := &RenameMe{}
if err := json.Unmarshal(byt, data); err != nil {
break
}
data.Etime, _ := time.Parse("[02/Jan/2006:15:04:05 -0700]", time_local)
我不会测试它以确保它胜过您的代码,但我敢打赌它会大大提高。试一试,请告诉我。
TA贡献1825条经验 获得超6个赞
http://jsoniter.com/宣称自己是最快的 json 解析器,提供了 golang 和 java 实现。可以使用两种类型的api。并且预先注入的 json 对象定义是可选的。
TA贡献1785条经验 获得超4个赞
检查https://github.com/pquerna/ffjson
我看到了标准库采用的标准 json marshal/unmarshal 方法的 3 倍改进。它通过重写源代码并消除对反射的需要来实现。
- 3 回答
- 0 关注
- 173 浏览
添加回答
举报