我需要定义与JSON.Unmarshal完全相同的JSON结构吗?
我获取一个子Reddit并将其作为JSON响应接收 问题是回报有点大,有很多字段,但我只想要其中的一些 结构类似于:我需要定义与JSON.Unmarshal完全相同的JSON结构吗?,json,go,Json,Go,我获取一个子Reddit并将其作为JSON响应接收 问题是回报有点大,有很多字段,但我只想要其中的一些 结构类似于: data.children.data.fields Children是一个数组,所以我不能像我想的那样访问它,但这只是一个示例 我将JSON粘贴到QuickType上以查看它返回的内容,结构很大 那么,有没有一种方法可以使用json.Unmarshal只获取我想要的字段 希望有人能帮助我,提前谢谢 可以将结构与只需要的字段一起使用。看看下面的例子 package main i
data.children.data.fields
Children是一个数组,所以我不能像我想的那样访问它,但这只是一个示例
我将JSON粘贴到QuickType上以查看它返回的内容,结构很大
那么,有没有一种方法可以使用json.Unmarshal只获取我想要的字段
希望有人能帮助我,提前谢谢 可以将结构与只需要的字段一起使用。看看下面的例子
package main
import (
"encoding/json"
"fmt"
)
type Test struct {
Field1 int `json:"field1"`
Field2 string `json:"field2"`
}
func main() {
jsonString := `{
"field1": 1,
"field2": "test field 2",
"field3": "test field 3"
}`
t := Test{}
err := json.Unmarshal([]byte(jsonString), &t)
if err != nil {
fmt.Println(err)
}
fmt.Println("\n", t)
}
你可以定义一个结构,它的结构与你想要的字段的结构相匹配,你不必仅仅因为它们在json中就定义所有字段,只需定义你需要的字段,只需确保它们在结构和类型上匹配。好吧,我要尝试一下,我不知道Quicktype,这太酷了!