相关疑难解决方法(0)

无法使用具有空格的键名解组JSON

我得到的一些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)
}
Run Code Online (Sandbox Code Playgroud)

输出为:

[{Name: Order:Monotremata} {Name: Order:Dasyuromorphia}]
Run Code Online (Sandbox Code Playgroud)

所以在模式中,库移除了空间(来自Na me)并尝试找到键(Name),这显然不存在.有什么建议我可以在这做什么?

json struct go

1
推荐指数
1
解决办法
1102
查看次数

标签 统计

go ×1

json ×1

struct ×1