在 Go 中解包嵌套 JSON 对象:空字段问题
大家好!
我是 Go 新手,正在尝试解析带有嵌套对象的 JSON,但一直不成功。JSON 来自外部 API,大致如下:
```json
{
"id": 123,
"name": "Test",
"details": {
"age": 30,
"city": "Moscow"
}
}
```
我创建了结构体:
```go
type Person struct {
ID int `json:"id"`
Name string `json:"name"`
Details Details `json:"details"`
}
type Details struct {
Age int `json:"age"`
City string `json:"city"`
}
```
并尝试解析:
```go
var person Person
err := json.Unmarshal([]byte(jsonString), &person)
if err != nil {
log.Fatal(err)
}
fmt.Println(person)
```
问题是,当我运行代码时,`Details` 内部的 `Age` 和 `City` 字段始终为空(0 和 "")。而 `ID` 和 `Name` 正常填充。我检查了 JSON——它确实是有效的。我哪里做错了?是不是需要以特殊方式声明嵌套结构体?还是问题