GO 解析json数据的方法

时间:2025-03-30 17:13:39

GO 解析json数据的方法

go解析json数据通常使用"encoding/json"包,导入后使用(data []byte, v interface{}) error来解析数据,讨论的就是怎么给定v,使得数据能够正常接收

方式一 给定结构体struct

示例:

type example struct {
	ID         int       `json:"id"`
	Name string    `json:"name"`
	Class      int       `json:"class"`
}

数据解析:

var s = `[{"id":14125,"name":"adad",class":4},{"id":14126,"name":"asas",class":4}]`
	var x []example
	err := ([]byte(s), &x)
	if err != nil {
		return
	}

这种方式适用于知道结构体构造的情况,通用做法

方式二 创建map

示例:

var x = make([]map[string]interface{}, 0)
var s = `[{"id":14125,"name":"adad",class":4},{"id":14126,"name":"asas",class":4}]`
	err := ([]byte(s), &x)
	if err != nil {
		return
	}

此方法通用,但使用interface{}效率不高