【发布时间】:2021-02-03 04:16:59
【问题描述】:
从输出中我只需要带有 requestStatus Failed 部分的 json 数据。剩余的 json 数据应该被覆盖每个更新/可以删除。您能否建议我如何获取仅需要的数据。 源代码:我的源代码是这样的。
cmd := exec.Command(command, args...)
cmd.Dir = dir
var stdBuffer bytes.Buffer
mw := io.MultiWriter(os.Stdout, &stdBuffer)
cmd.Stdout = mw
cmd.Stderr = mw
// Execute the command
if err := cmd.Run(); err != nil {
log.Panic(err)
}
log.Println(stdBuffer.String())
Output: this is how output looks for my input.
{
"time": "10:26:03 AM",
"requestId": 71795,
"requestStatus": "ongoing",
"requestMessage": "Waiting for response"
}
{
"time": "10:26:08 AM",
"requestId": 71795,
"requestStatus": "ongoing",
"requestMessage": "Waiting for response"
}
{
"time": "10:26:13 AM",
"requestId": 71795,
"requestStatus": "ongoing",
"requestMessage": "Waiting for response"
}
{
"time": "10:26:14 AM",
"requestId": 71795,
"requestStatus": "failed",
"requestMessage": {
"ValidationResult": {
"logs": {
"Elements": null,
"objectsErrors": null,
"occurrencesErrors": null
}
}
}
}
【问题讨论】:
-
输出是一系列 JSON 对象。从中解组一系列 JSON 对象。你试过什么?你有什么问题?或者这是几次运行的输出?那么输出可能只是一个 JSON 对象。
-
此输出仅用于单次运行。我只执行了一次命令,然后我得到了来自同行的响应。在最后(请求状态失败)的输出 json 对象中是来自对等方的有效输出。我试图解组收到的输出我收到错误,例如 unmarshal failed 'invalid character '{' is received'
-
顶级值后的无效字符'{'"}
-
我可以从任何人那里获得有关此问题的帮助吗?
-
我发布了一个适合我的答案。尝试一下,如果它不适合你,请解释原因,并描述你得到了什么。