Versions Compared

Key

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

Strcut对象转换

...

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.

...

Struct(users); err != nil {
        panic(err)
    }
    fmt.Printf(`%+v`, users)
}

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

GetStruct转换

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

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)
    if err := j.GetStruct("users", users); err != nil {
        panic(err)
    }
    fmt.Printf(`%+v`, users)
}

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


Panel
titleContent Menu

Table of Contents