GO 解析json数据的方法
"encoding/json"json.Unmarshal(data []byte, v interface{}) errorv

方式一 给定结构体struct

示例:

type example struct {
	IntID         int       `json:"IntID"`
	StrPrjID      string    `json:"StrPrjID"`
	IntCSID       int       `json:"IntCSID"`
	IntIOID       int       `json:"IntIOID"`
	IntCHID       int       `json:"IntCHID"`
	StrDeviceName string    `json:"StrDeviceName"`
	StrTagName    string    `json:"StrTagName"`
	IntTypeID     int       `json:"IntTypeID"`
	IntClass      int       `json:"IntClass"`
	StrNote       string    `json:"StrNote"`
	TimeModify    time.Time `json:"TimeModify"`
}

数据解析:

var s = `[{"IntID":14125,"StrPrjID":"domain3","IntCSID":0,"IntIOID":0,"IntCHID":0,"StrDeviceName":"adad","StrTagName":"3+a1","IntTypeID":30,"IntClass":4,"StrNote":"aaaaaaaaaaaaaaa1","TimeModify":"0001-01-01T00:00:00Z"},{"IntID":14126,"StrPrjID":"domain3","IntCSID":0,"IntIOID":0,"IntCHID":0,"StrDeviceName":"adad","StrTagName":"3+a3","IntTypeID":30,"IntClass":4,"StrNote":"bbbbbbbbb","TimeModify":"0001-01-01T00:00:00Z"}]`
	var x []example
	err := json.Unmarshal([]byte(s), &x)
	if err != nil {
		return
	}

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

方式二 创建map

示例:

var x = make([]map[string]interface{}, 0)
var s = `[{"IntID":14125,"StrPrjID":"domain3","IntCSID":0,"IntIOID":0,"IntCHID":0,"StrDeviceName":"adad","StrTagName":"3+a1","IntTypeID":30,"IntClass":4,"StrNote":"aaaaaaaaaaaaaaa1","TimeModify":"0001-01-01T00:00:00Z"},{"IntID":14126,"StrPrjID":"domain3","IntCSID":0,"IntIOID":0,"IntCHID":0,"StrDeviceName":"adad","StrTagName":"3+a3","IntTypeID":30,"IntClass":4,"StrNote":"bbbbbbbbb","TimeModify":"0001-01-01T00:00:00Z"}]`

	err := json.Unmarshal([]byte(s), &x)
	if err != nil {
		return
	}

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