如何在Go中解析[]int JSON数据?

如何在Go中解析[]int JSON数据?,go,Go,我尝试解析包含整数数组的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

我尝试解析包含整数数组的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]

{a:[1,2,3]}
不是有效的JSON。对象键必须是双引号。按此方式更改它的效果与预期一样:

s:=“{\'a\”:[1,2,3]}”


{a:[1,2,3]}
不是有效的JSON。对象键必须是双引号。按此方式更改它的效果与预期一样:

s:=“{\'a\”:[1,2,3]}”


您的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]}]

如果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]}]
你可以在上面运行它