我正在使用上班族 https://github.com/benmanns/goworker处理请求作业。一个作业有一个有效负载,它有一个嵌套的 JSON 结构,如下所示:
[{
"key-a":"val-a",
"key-b":"val-b",
"files":[{
"key-a": [
{"a":"b","c": "d"},
{"e":"f","g": "h"}
],
"key-b": [
{"a":"b","c": "d"},
{"e":"f","g": "h"}
]
}]
}]
Now go-worker
给我args ...interface{}
它代表 JSON 负载,而不是实际的 JSON 文本。有没有一种惯用的方法来转换它(args
)到正确的类型(可以使用另一个包来做到这一点。)手动使用类型断言对于这样的事情似乎有点乏味。
如果它真的给你实际的 go 对象(即一堆map[string]interface{}
而不是 json 字符串本身)那么除了一堆类型断言之外你可能没有什么可以做的。
您可以将其重新编组为 json,然后再次将其解析为正确的结构,但这有点像黑客(而且我不知道它是否具有性能)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)