我得到的一些JSON数据的键名中有空格。我正在使用标准encoding/json库来解组数据。但是,它无法理解模式中带空格的键。例如下面的代码:
encoding/json
package main import ( "encoding/json" "fmt" ) func main() { var jsonBlob = []byte(`[ {"Na me": "Platypus", "Order": "Monotremata"}, {"Na me": "Quoll", "Order": "Dasyuromorphia"} ]`) type Animal struct { Name string `json: "Na me"` Order string `json: "Order,omitempty"` } var animals []Animal err := json.Unmarshal(jsonBlob, &animals) if err != nil { fmt.Println("error:", err) } fmt.Printf("%+v", animals) }
输出为:
[{Name: Order:Monotremata} {Name: Order:Dasyuromorphia}]
因此,在架构中,库删除了空格(从 Na me中 删除),并尝试找到显然不存在的键( Name )。有什么建议可以在这里做什么?