2023-07-22 20:51:46 +08:00
|
|
|
package jsonx
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
|
|
|
|
"testing"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const jsonStr = `{
|
|
|
|
|
"username": "test",
|
|
|
|
|
"age": 12,
|
|
|
|
|
"person": {
|
|
|
|
|
"name": {
|
|
|
|
|
"first": "Leonid",
|
|
|
|
|
"last": "Bugaev",
|
|
|
|
|
"fullName": "Leonid Bugaev"
|
|
|
|
|
},
|
|
|
|
|
"github": {
|
|
|
|
|
"handle": "buger",
|
|
|
|
|
"followers": 109
|
|
|
|
|
},
|
|
|
|
|
"avatars": [
|
|
|
|
|
{ "url": "https://avatars1.githubusercontent.com/u/14009?v=3&s=460", "type": "thumbnail" }
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"company": {
|
|
|
|
|
"name": "Acme"
|
|
|
|
|
}
|
|
|
|
|
}`
|
|
|
|
|
|
|
|
|
|
func TestGetString(t *testing.T) {
|
|
|
|
|
// val, err := GetString(jsonStr, "username")
|
|
|
|
|
|
|
|
|
|
// 错误路径
|
|
|
|
|
// val, err := GetString(jsonStr, "username1")
|
|
|
|
|
|
|
|
|
|
// 含有数组的
|
2024-07-05 13:14:31 +08:00
|
|
|
val, err := GetString(jsonStr, "person.avatars.0.url")
|
2023-07-22 20:51:46 +08:00
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
fmt.Println("error: ", err.Error())
|
|
|
|
|
} else {
|
|
|
|
|
fmt.Println(val)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestGetInt(t *testing.T) {
|
|
|
|
|
val, _ := GetInt(jsonStr, "age")
|
|
|
|
|
val2, _ := GetInt(jsonStr, "person.github.followers")
|
|
|
|
|
fmt.Println(val, ",", val2)
|
|
|
|
|
}
|