我试图构建一个程序,从JSON中提取数据并将其放入自定义结构中。JSON包含像“foo\u0000”这样的键,所以我不能只使用
Unmarshal
。我尝试使用struct标签,它对“常规”标签非常有效,但当我使用像这样的格式时就不行了
\u...
.
我试过这个:
package main
import (
"encoding/json"
"fmt"
)
type MyStruct struct {
x string `json:"foobar\u0062"`
Name string `json:"Username"`
}
func main() {
data := []byte(`{"foobar\u0062": "some value", "Username": "xxx"}`)
var ms MyStruct
err := json.Unmarshal(data, &ms)
if err != nil {
panic(err)
}
fmt.Println(ms.x)
fmt.Println(ms.Name)
}
在上面的示例中,键
Username
在JSON中,可以通过字段访问
Name
结构体的
ms
钥匙的情况并非如此
foobar\u0062
.
为什么?我怎样才能得到
foobar\u0062
在这种情况下,什么是“某种价值”?