我正在尝试构建一个程序,从 JSON 中提取数据并将其放入自定义结构中。JSON 包含“foo\u00a0”之类的键,因此我不能只使用Unmarshal
。我尝试使用结构标记,它对于“常规”标记完美无缺,但当我使用类似 的格式时却不行\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 中的 key 可以通过Name
struct 的字段访问ms
。但 key 却不能foobar\u0062
。
为什么?我怎样才能获得 的值foobar\u0062
(在这种情况下是“某个值”)?