【发布时间】:2014-08-29 10:26:34
【问题描述】:
我是 Go 新手,正在尝试使用 github 中的库将 JSON 解析为 CSV。 https://github.com/jehiah/json2csv
但我遇到了这个问题:https://github.com/jehiah/json2csv/issues/22 作者没有回复。
我意识到如果我们将以下 JSON 作为 json.input 提供给文件:
{"user": {"name":["jehiah, mike, semo"], "password": "root"}, "remote_ip": "127.0.0.1", "dt" : "[20/Aug/2010:01:12:44 -0400]"}
{"user": {"name":["jeroenjanssens", "jeroen2", "jero55"], "password": "123"}, "remote_ip": "192.168.0.1", "dt" : "[20/Aug/2010:01:12:44 -0400]"}
{"user": {"name":"markdata", "password": ""}, "remote_ip": "76.216.210.0", "dt" : "[20/Aug/2010:01:12:45 -0400]"}
现在,如果我尝试将其用作命令:go run main.go -k user.name -i input.json -o output.json
它返回以下输出:
"[jehiah, mike, semo]"
[jeroenjanssens jeroen2 jero55]
markdata
但如 opend 发布中所述,我期望响应为:
jehiah, mike, semo
jeroenjanssens, jeroen2, jero55
markdata
我猜这是因为行:https://github.com/jehiah/json2csv/blob/master/main.go#L110 无论如何在阅读该行时删除逗号。
您能否建议如何实现上述预期输出?
问候
【问题讨论】:
-
为什么不直接序列化从json文件中读取的数据而不使用任何其他库呢?您有具体要求吗?
-
@AlessandroSuglia 我该怎么做?有什么例子吗?
-
我已经发布了答案。我希望这会帮助你完成你的任务:)
标签: json string parsing csv go