Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Struct转换

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

Code Block
languagego
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方法用于获得指定层级的节点数据,并将该数据转换为指定的结构体对象。

Code Block
languagego
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]}
}



Panel
titleContent Menu

Table of Contents