1.解析[1,2,3,4]数组类型的json
package main
import (
"encoding/json"
"fmt"
)
func main() {
// JSON 数据
jsonData := `[1, 2, 3, 4]`
// 定义一个切片来接收解析后的数据
var numbers []int
// 解析 JSON 数据到切片
err := json.Unmarshal([]byte(jsonData), &numbers)
if err != nil {
fmt.Println("Error unmarshaling JSON:", err)
return
}
// 输出解析后的数据
fmt.Println("Parsed numbers:", numbers)
}
结果
Parsed numbers: [1 2 3 4]
嵌套类型解析
type Node struct {
Label string `json:"label"`
Value string `json:"value"`
Children []Node `json:"children"` // 注意这里使用了相同的结构体来表示嵌套
}
代码
jsonData = `[{"label": "班级", "value": "class", "children": [{"label": "小组", "value": "group"}]}]`
// 定义一个切片来接收解析后的数据
var nodes []Node
// 解析 JSON 数据到切片
err = json.Unmarshal([]byte(jsonData), &nodes)
if err != nil {
fmt.Println("Error unmarshaling JSON:", err)
return
}
// 输出解析后的数据
fmt.Println("Parsed nodes:", nodes)
Parsed nodes: [{班级 class [{小组 group []}]}]