gpt4 book ai didi

go - 如何确保首先解析根结构的字段,然后解析嵌入式结构的字段

转载 作者:IT王子 更新时间:2023-10-29 02:30:49 27 4
gpt4 key购买 nike

我的结构如下:-

type Inner struct {
FooInner string `json:"fooInner"`
BarInner string `json:"barInner,omitempty"`
}

type Root struct {
Inner
Foo string `json:"foo"`
Bar string `json:"bar"`
}

我希望首先解析“Root”结构的字段,然后再解析“Inner”结构的字段。但是这里先解析内部结构的字段。

最佳答案

如果您询问 JSON 编码(不是解析)并希望按特定顺序编码字段,编码器通常会按其索引顺序编码字段并沿途递归任何嵌入式结构。结构字段索引 - 如 json.Marhsal 使用的 reflect 包所示 - 由它们在代码中出现的顺序定义。

因此,首先放置您想要的字段 - 然后放置任何嵌入式结构:

type Root struct {
Foo string `json:"foo"`
Bar string `json:"bar"`
Inner // <- move this last
}

Playground Example

b, _ := json.Marshal(Root{})

{"foo":"","bar":"","fooInner":""}

关于go - 如何确保首先解析根结构的字段,然后解析嵌入式结构的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55603147/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com