從JSON字符串解碼地圖切片繼Go by Example: JSON tutorial,我看到如何使用基本的JSON字符串工作:在Golang
package main
import (
"encoding/json"
"fmt"
)
type Response struct {
Page int `json:"page"`
Fruits []string `json:"fruits"`
}
func main() {
str := `{"page": 1, "fruits": ["apple", "peach"]}`
res := Response{}
json.Unmarshal([]byte(str), &res)
fmt.Println(res.Page)
fmt.Println(res.Fruits)
}
// the output looks good here:
// 1
// [apple peach]
我想一些複雜性添加到str
數據對象,我正在解碼。
也就是說,我想補充的一個關鍵與地圖作爲其值的一部分:
"activities": [{"name": "running"}, {"name", "swimming"}]
我的劇本,現在看起來像下面的例子,但是,對於我的生活,我想不出爲了得到activities
中的值,Response
結構中正確的語法是什麼。我知道這個語法是不正確的:Activities []string ...
,但不能破解我捕捉我想要顯示的數據的解決方案。
package main
import (
"encoding/json"
"fmt"
)
type Response struct {
Page int `json:"page"`
Fruits []string `json:"fruits"`
Activities []string `json:"activities"`
}
func main() {
str := `{"page": 1, "fruits": ["apple", "peach"], "activities": [{"name": "running"}, {"name", "swimming"}]}`
res := Response{}
json.Unmarshal([]byte(str), &res)
fmt.Println(res.Page)
fmt.Println(res.Fruits)
fmt.Println(res.Activities)
}
// the script basically craps out here and returns:
// 0
// []
// []
感謝您的幫助!
作品完美!謝謝! – SeanPlusPlus