我有一个有趣的 JSON 文件,它有点嵌套,我无法很好地举例说明如何正确解析它。有人可以看看下面,看看我的结构是否正确,我可以解析根级别的项目,但我尝试越深入,我就会迷路。请在下面查看我的代码:我尝试解析的 JSON 文件位于单独的文件中:{ "pushed": 090909099, "job_id": 17422, "processed": 159898989, "unit_report": [ { "meta": { "file": { "file_type": "Binary", "file_name": "Bob.txt", "file_path": "/usr/local/Bob.txt", "size": 4563, "entropy": 3.877, "hashes": [ { "name": "Uniq34", "value": "02904234234234234243" }, { "name": "sha1", "value": "23423423423423423423423" }, { "name": "sha256", "value": "523412423424234234234" } ] },我的结构设置在下面的 Go 文件中:package mainimport ( "encoding/json" "fmt" "io/ioutil" "os")// Report structtype Report struct { Pushed int `json:"pushed"` JobID int `json:"job_id"` Processed int `json:"processed"` SetReport []struct { Meta struct { File struct { FileType string `json:"file_type"` FileName string `json:"file_name"` FilePath string `json:"file_path"` Size int `json:"size"` Entropy int `json:"entropy"` } } }}
1 回答
料青山看我应如是
TA贡献1772条经验 获得超8个赞
unit_report您的代码的问题是您希望json数据与SetReport结构匹配Go。
为此,您可以设置json:"unit_report为您的SetReport字段或重命名SetReport为UnitReport.
任何一个:
Processed int `json:"processed"`
SetReport []struct {
...
} `json:"unit_report` // See the changes here
或者:
Processed int `json:"processed"`
UnitReport []struct { // See the changes here
...
}
- 1 回答
- 0 关注
- 129 浏览
添加回答
举报
0/150
提交
取消