gpt4 book ai didi

json - JSON 编码器/解码器的不同结构属性 "published"

转载 作者:IT王子 更新时间:2023-10-29 01:48:29 24 4
gpt4 key购买 nike

我需要通过 JSON 导出一些大型结构,并取回 JSON 字符串以更新仅一些它的属性。

让我们有以下结构:

type House struct {
Name string `json:"name"`
Rooms int `json:"rooms_count"`
Owner *Owner `json:"-"`
}

使用 encoding/json 编码将产生类似 JSON 的字符串

{"name":"some name", "rooms_count":5}

我现在得到这个 JSON 字符串:

{"name":"some other name", "rooms_count":7, Owner:{something...}}

用户想要更改每个属性。 Owner 是不允许的,因为它没有导出。但我只想允许更改 rooms_count。有什么方法可以说明某些属性应该用 Encoder 导出,但不能被 Decoder 使用?必须手动编写所有这些检查会非常不愉快。

最佳答案

在您的确切情况下,只需解码为一个新结构并执行 currentStruct.Rooms = newStruct.Rooms 正是您想要的。

对于这种类型的自定义编码,没有一种完全直接的方法可以做到。您可以获得的最好结果是两个相同的结构,它们在不同的场合具有不同的标签,并进行一些反射以执行它们之间的转换。

关于json - JSON 编码器/解码器的不同结构属性 "published",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14667281/

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