去json,编组空值

时间:2017-07-27 10:32:56

标签: json go isnullorempty

我遇到了omitempty和空值的问题。请参阅this playground example。在值""的情况下,我有一个我不想在元帅中被忽略的值。这明确意味着我想清除值,因此我想要编组结果:

{"cf_objectType":"Product","cf_isLocked":"No","cf_ErrorMessage":""}

现在我尝试了指针到字符串的方法here,但出于某种原因,我不喜欢这样。有没有其他选择?例如,为什么我们没有omitempty之类的标签(就像omitnull)?

修改

澄清一下,见下文

m := Metadata{
    ObjectType:   "Product",
    Locked:       "No",
    ErrorMessage: "",

}

我希望这个结构上的marshal函数的结果是:

{
    "cf_objectType":"Product",
    "cf_isLocked":"No",
    "cf_ErrorMessage":""
}

m := Metadata{
    ObjectType:   "Product",
    Locked:       "No",
}

结果应该是:

{
    "cf_objectType":"Product",
    "cf_isLocked":"No",
}

2 个答案:

答案 0 :(得分:2)

如果您不想省略空值,只需删除omitempty标记

即可

https://play.golang.org/p/6axA2OIG6O

答案 1 :(得分:1)

关于你的上一条评论(我没有足够的声誉可以回复):

  

好的,这有效:there但是我混合了   我的struct定义中的string和* string。我也不能“填补”   没有var emptyString = ""的值,对吧?

请参阅play.golang.org/p/TYk67p6i_b帖子