我正在尝试编写go代码来解析以下json文件:
{
"peers": [
{
"pid": 1,
"address": "127.0.0.1:17001"
},
{
"pid": 2,
"address": "127.0.0.1:17002"
}
]
}
到目前为止我能做的就是写下这段代码:
package main
import (
"fmt"
"io/ioutil"
"encoding/json"
)
type Config struct{
Pid int
Address string
}
func main(){
content, err := ioutil.ReadFile("config.json")
if err!=nil{
fmt.Print("Error:",err)
}
var conf Config
err=json.Unmarshal(content, &conf)
if err!=nil{
fmt.Print("Error:",err)
}
fmt.Println(conf)
}
上面的代码适用于非嵌套的json文件,如下所示:
{
"pid": 1,
"address": "127.0.0.1:17001"
}
但即使在更改Config struct
这么多次之后。我无法解析问题开头提到的json文件。有人可以告诉我如何继续吗?
答案 0 :(得分:8)
您可以使用以下结构定义来映射JSON结构:
type Peer struct{
Pid int
Address string
}
type Config struct{
Peers []Peer
}
答案 1 :(得分:0)
要包括自定义属性名称,请添加结构字段标记为:
type Peer struct{
CustomId int `json:"pid"`
CustomAddress string `json:"address"`
}