我在使用omitempty
和空值时遇到问题。请看这个操场的例子。我有一个价值,在有价值的情况下,我不想被忽略""
。明确地,这意味着我想清除该值,因此想将结果编组为:
{"cf_objectType":"Product","cf_isLocked":"No","cf_ErrorMessage":""}
现在,我在这里尝试了指针到字符串的方法,但是由于某种原因,我不喜欢这样。有没有其他选择?例如,为什么我们没有标签(就像omitempty
)一样omitnull
?
编辑
为了澄清,请参见下文
m := Metadata{
ObjectType: "Product",
Locked: "No",
ErrorMessage: "",
}
我希望此结构上的编组函数的结果为:
{
"cf_objectType":"Product",
"cf_isLocked":"No",
"cf_ErrorMessage":""
}
和
m := Metadata{
ObjectType: "Product",
Locked: "No",
}
结果应该是:
{
"cf_objectType":"Product",
"cf_isLocked":"No",
}
关于您的最后评论(我对此没有足够的口碑):
好的,这可行:play.golang.org/p/TYk67p6i_b但是我在结构定义中混合了字符串和* string。而且如果没有,我也无法“填满”值
var emptyString = ""
,对吗?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句