为了账号安全,请及时绑定邮箱和手机立即绑定

关于通过 Struct 解析嵌套 JSON 的问题

关于通过 Struct 解析嵌套 JSON 的问题

Go
慕容3067478 2022-06-27 15:40:27
我有一个有趣的 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

    ...

}


查看完整回答
反对 回复 2022-06-27
  • 1 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信