You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Current »

Struct转换

Struct方法用于将整个Json包含的数据内容转换为指定的数据格式或者对象。

data :=
    `
{
    "count" : 1,
    "array" : ["John", "Ming"]
}`
if j, err := gjson.DecodeToJson(data); err != nil {
    panic(err)
} else {
    type Users struct {
        Count int
        Array []string
    }
    users := new(Users)
    if err := j.Scan(users); err != nil {
        panic(err)
    }
    fmt.Printf(`%+v`, users)
}

// Output:
// &{Count:1 Array:[John Ming]}

Struct转换

Get方法用于获得指定层级的节点数据,并将该数据转换为指定的结构体对象。

func main() {
	data :=
		`{
    "users" : {
        "count" : 1,
        "array" : ["John", "Ming"]
    }
}`
	if j, err := gjson.DecodeToJson(data); err != nil {
		panic(err)
	} else {
		type Users struct {
			Count int
			Array []string
		}
		users := new(Users)
		usersVar := j.Get("users")
		usersVar.Scan(users)
		fmt.Printf(`%+v`, users)
	}

	// Output:
	// &{Count:1 Array:[John Ming]}
}
Content Menu

  • No labels