Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Golang JSON标记_Go - Fatal编程技术网

Golang JSON标记

Golang JSON标记,go,Go,假设我有一个structFoo Foo struct { Bar, Baz int } 我想将这个结构封送到json中,如下所示: {bar:1,baz:2} 如果不使用标记将单行多名称声明(Bar,Baz int)拆分为两行,如何实现这一点 这项工作: 但我想: 后者可能吗?根据,不可能 有一个严格的语法倾向于一种方式做事情 Go有一个内置的包编码/json,可以帮助您解决这种情况 这是去图书馆的票 下面是我使用该库制作的一个示例 编辑:正如tarrsalla在我下面所说的,

假设我有一个struct
Foo

Foo struct {
        Bar, Baz int
}
我想将这个结构封送到
json
中,如下所示:
{bar:1,baz:2}

如果不使用标记将单行多名称声明(
Bar,Baz int
)拆分为两行,如何实现这一点

这项工作:

但我想:

后者可能吗?

根据,不可能


有一个严格的语法倾向于一种方式做事情

Go有一个内置的包编码/json,可以帮助您解决这种情况

这是去图书馆的票

下面是我使用该库制作的一个示例


编辑:正如tarrsalla在我下面所说的,go更喜欢“一种方式做事情”,从长远来看,如果你使用这种“方式”,它会对你更好。

我知道这一点,但我想用不同的方式命名JSON键。我真的不能帮你,因为我自己从来没有这样做过。我能想到的最好方法是对结果字符串运行
strings.Replace(jsonString,“Bar:,“Bar:,1)
。我将用它更新我的示例。我可以封送到map[string]接口{}(我想),但是类型安全性将丢失。我再次修改了它,以提供您所要求的确切输出。替换方法不适合您有什么原因吗?不幸的是,我对go如何处理json的其他方法知之甚少。替换可以工作,但是
ToLower
整个事情会更容易xD。但是我也不想这样做,我只需要在struct中做标记来保持它的整洁。确切地说:允许在列表后面添加标记,但是声明中的每个字段都是相同的标记,这对您没有帮助。(见本规范本节最后一段)
Foo struct {
        Bar int `json:"bar"`
        Baz int `json:"baz"`
}
Foo struct {
        Bar, Baz int `json:???`
}
StructType     = "struct" "{" { FieldDecl ";" } "}" .
FieldDecl      = (IdentifierList Type | AnonymousField) [ Tag ] .
AnonymousField = [ "*" ] TypeName .
Tag            = string_lit .