试图在golang中将数据解组到接口中

时间:2018-05-09 06:43:37

标签: go

尝试将数据解组到界面中。它工作正常。但如果我访问res.page或res.Page无法正常工作

我收到以下错误:

res.Page undefined (type interface {} is interface with no methods)

以下是我的代码:

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    var res interface{}
    str := `{"page": 1, "fruits": ["apple", "peach"]}`
    json.Unmarshal([]byte(str), &res)
    fmt.Println(res.Page)
}

提前致谢。

1 个答案:

答案 0 :(得分:4)

interface {} 指定零方法(和零字段) 您需要的是 map [string] interface {}

试试这个https://play.golang.org/p/WBwXKob4zdA

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    var res map[string]interface{}
    str := `{"page": 1, "fruits": ["apple", "peach"]}`
    json.Unmarshal([]byte(str), &res)
    fmt.Println(res["page"])
}

您可能需要查看: