3 回答

TA貢獻2016條經(jīng)驗 獲得超9個贊
數(shù)據(jù)有問題。它不是有效的 JSON,因為它有尾隨逗號。
試試這個:
{
"data1" : {
"tag" : "some_tag1",
"info" : "some_info1"
},
"data2" : {
"tag" : "some_tag2",
"info" : "some_info2"
}
}

TA貢獻1843條經(jīng)驗 獲得超7個贊
您必須大寫someStruct字段和 json 必須有效格式。
type someStruct struct {
Tag string `json:"tag"`
Info string `json:"info"`
}

TA貢獻1831條經(jīng)驗 獲得超10個贊
您的示例 json 有多余的逗號 - 已刪除
數(shù)據(jù)結(jié)構(gòu)是一對帶鍵的 someStruct,所以需要是一個映射
大寫 json 結(jié)構(gòu)字段
這是一個基于您的代碼的工作示例
package main
import (
"encoding/json"
"fmt"
)
type someStruct struct {
Tag string `json:"tag"`
Info string `json:"info"`
}
func main() {
buf := `{
"data1" : {
"tag" : "some_tag1",
"info" : "some_info1"
},
"data2" : {
"tag" : "some_tag2",
"info" : "some_info2"
}
}`
dat := make(map[string]someStruct)
if err := json.Unmarshal([]byte(buf), &dat); err != nil {
panic(err)
}
fmt.Println("Hello, playground", dat)
}
操場https://play.golang.org/p/ZGuCcGI3vA6
- 3 回答
- 0 關(guān)注
- 184 瀏覽
添加回答
舉報