golang json字符串转Golang对象
一、普通json字符串转Golang对象
import "github.com/ChengjinWu/gojson"
func Test_json(t *testing.T) {
data := `{"id":524042,"name":"酷旅-mob-otv-2","male":true,"other":null}`
object, err := gojson.FromBytes([]byte(data))
if err != nil {
fmt.Println(err)
} else {
jsonBytes, _ := json.Marshal(object)
fmt.Println(string(jsonBytes))
}
}
二、json字符串内嵌数组转Golang对象
import "github.com/ChengjinWu/gojson"
func Test_json_array_parse(t *testing.T) {
data := `{
"id": [
-524042.5,
2312314444
],
"name": "酷旅-mob-otv-2",
"male": true,
"other": null
}`
object, err := gojson.FromBytes([]byte(data))
if err != nil {
fmt.Println(err)
return
}
idArray:=object.GetJsonObject("id").GetJsonArray()
for i,v:=range idArray{
fmt.Println(i,v.GetFloat64())
fmt.Println(i,v.GetInt64())
}
name:=object.GetJsonObject("name").GetString()
fmt.Println(name)
male:=object.GetJsonObject("male").GetBool()
fmt.Println(male)
other:=object.GetJsonObject("other").GetInterface()
fmt.Println(other)
}