2 回答

TA貢獻1844條經驗 獲得超8個贊
使用地圖:
type Item struct {
Name string `json:"name"`
Success bool `json:"success"`
}
type Response struct {
Data map[string]Item `json:"data"`
}

TA貢獻1864條經驗 獲得超6個贊
下面是一些使用 Mellow Marmots 答案的示例代碼,并展示了如何迭代響應中的項目。
測試文件
{
"data": {
"1018089108070373346": {
"name": "A Nice Hotel",
"success": true
},
"2017089208070373346": {
"name": "Another Nice Hotel",
"success": true
}
}
}
測試去
package main
import (
"encoding/json"
"fmt"
"os"
)
// Item struct
type Item struct {
Name string `json:"name"`
Success bool `json:"success"`
}
// Response struct
type Response struct {
Data map[string]Item `json:"data"`
}
func main() {
jsonFile, err := os.Open("test.json")
if err != nil {
fmt.Println("Error opening test file\n", err.Error())
return
}
jsonParser := json.NewDecoder(jsonFile)
var filedata Response
if err = jsonParser.Decode(&filedata); err != nil {
fmt.Println("Error while reading test file.\n", err.Error())
return
}
for key, value := range filedata.Data {
fmt.Println(key, value.Name, value.Success)
}
}
哪些輸出:
1018089108070373346 A Nice Hotel true
2017089208070373346 Another Nice Hotel true
- 2 回答
- 0 關注
- 221 瀏覽
添加回答
舉報