尝试将数据解组到Golang中的接口

Trying to unmarshal data into interface. It is working fine. But If i access res.page or res.Page not working

I got the below error:

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

Below is my code:

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)
}

Thanks in advance.

interface{} specifies zero methods (and ofc zero fields).
What you need is a map[string]interface{}

Try this 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"])
}

You may want to check: