我尝试解析JSON数据包含整数数组。但是,我无法得到整数数组。
package main
import (
"encoding/json"
"fmt"
)
type Anything struct {
A []int `json:"a"`
}
func main() {
s := "{a:[1,2,3]}"
var a Anything
json.Unmarshal([]byte(s), &a)
fmt.Println(a.A)
}
我得到了空数组。
[]
我如何获得[1, 2, 3]
?
答案 0 :(得分:2)
{a:[1,2,3]}
无效JSON。对象键必须是双引号。像这样改变它按预期工作:
s := "{\"a\":[1,2,3]}"
答案 1 :(得分:1)
您的JSON无效。您应该替换它,例如:s := [{"a":[1,2,3]}]
或者像这样s := "[{\"a\":[1,2,3]}]"
。
您可以将代码编辑为以下内容:
package main
import (
"encoding/json"
"fmt"
)
type Anything struct {
A []int `json:"a"`
}
func main() {
// note here: `[{"a":[1,2,3]}]`
// or: s := "[{\"a\":[1,2,3]}]"
s := `[{"a":[1,2,3]}]`
var a []Anything
json.Unmarshal([]byte(s), &a)
fmt.Println(a)
}
输出:
[{[1 2 3]}]
上运行它