gpt4 book ai didi

go - 没有值时删除具有空值的元素

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

我想删除结构中具有空值的元素。我的脚本如下。此脚本的输出是 {"keyA":{}}。我对 KeyA 和 KeyB 使用了 omitempty。但是留下了一个空值的元素。另一方面,KeyB 未显示。我想在 KeyA 具有值时显示它。我不想在 KeyA 没有值时显示它。有办法吗?

脚本

package main

import (
"encoding/json"
"fmt"
)

type sample struct {
KeyA struct {
Key1 string `json:"keyA1,omitempty"`
Key2 string `json:"keyA2,omitempty"`
} `json:"keyA,omitempty"`
KeyB string `json:"keyB,omitempty"`
}

func main() {
var s sample
response, _ := json.Marshal(s)
fmt.Println(string(response)) // {"keyA":{}}
}

非常感谢您的宝贵时间。对于我不成熟的问题,我深表歉意。

最佳答案

尝试 this :

package main

import (
"encoding/json"
"fmt"
)
type KeyA struct {
Key1 string `json:"keyA1,omitempty"`
Key2 string `json:"keyA2,omitempty"`
}
type sample struct {
KeyA *KeyA `json:"keyA,omitempty"`
KeyB string `json:"keyB,omitempty"`
}

func main() {
var s sample
response, _ := json.Marshal(s)
fmt.Println(string(response)) // {}
}

输出:

{}

关于go - 没有值时删除具有空值的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48257658/

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