【发布时间】:2021-09-25 00:20:30
【问题描述】:
如何更改 json 值的位置?
我想要达到的目标:
[{"key":"f","value":"f"},{"value":"f","key":"f"}]
问题:
type Struct struct {
Key string `json:"key"`
Value string `json:"value"`
}
func main() {
test := []Struct{ {Key: "test",Value: "wep"}, {Value: "wep",Key: "test"}}
bytes, _ := json.Marshal(test)
fmt.Print(string(bytes))
}
运行此代码会打印出[{"key":"test","value":"wep"},{"key":"test","value":"wep"}]
我也尝试过这样做,但它只是打印空值
type Struct struct {
Key string `json:"key"`
Value string `json:"value"`
Value2 string `json:"value"`
Key2 string `json:"key"`
}
但是我怎样才能切换键和值字段的位置呢?
【问题讨论】:
-
你为什么会关心订单?这是您打印出来的工作。不应该反映在数据本身中。
-
我关心字段顺序的原因是因为我试图将 json 发送到 api。出于某种原因,它使用这种奇怪的格式来指定值的确切含义。
-
什么奇怪的格式? JSON 可能是通过 http 与 API 通信时最标准的格式,它从不关心字段的顺序。
-
嗨,奇怪的是我的意思是我使用的 api 需要你关心字段的顺序,以指定 json 值的用途
-
是的,我也想知道他们为什么需要这种格式。但现在我只需要使用这种格式。不管怎样,我现在就联系他们