Go 语言结构体解析: 实例演示及 JSON 序列化
本示例演示如何使用 Go 语言解析 JSON 数据并将其转换为结构体,并附带将结构体序列化为 JSON 格式的代码。
首先,我们需要定义一个与数据结构相匹配的结构体类型。根据您提供的数据,我们可以定义如下结构体:
// 定义结构体类型
type MyStruct struct {
TenantId string `json:"tenantId"`
TenantName string `json:"tenantName"`
userId string `json:"userId"`
username string `json:"username"`
operator string `json:"operator"`
operatorName string `json:"operatorName"`
cloudBrand string `json:"cloudBrand"`
instanceId string `json:"instanceId"`
instanceName string `json:"instanceName"`
cloudBrandCluster string `json:"cloudBrandCluster"`
installId string `json:"installId"`
serviceId string `json:"serviceId"`
serviceName string `json:"serviceName"`
version string `json:"version"`
traceId string `json:"traceId"`
updateType string `json:"updateType"`
userIdType string `json:"userIdType"`
zoneId string `json:"zoneId"`
regionId string `json:"regionId"`
clusterName string `json:"clusterName"`
ckeyClusterId string `json:"ckeyClusterId"`
sparkVersion string `json:"sparkVersion"`
}
然后,我们可以使用 json.Unmarshal 函数将字节数组转换为结构体:
import "encoding/json"
func main() {
data := []byte{123, 34, 116, 101, 110, 97, 110, 116, 73, 100, 34, 58, 34, 50, 50, 53, 49, 55, 49, 34, 44, 34, 116, 101, 110, 97, 110, 116, 78, 97, 109, 101, 34, 58, 34, 119, 97, 110, 103, 120, 117, 97, 110, 48, 49, 34, 44, 34, 117, 115, 101, 114, 73, 100, 34, 58, 34, 50, 50, 53, 49, 55, 49, 34, 44, 34, 117, 115, 101, 114, 110, 97, 109, 101, 34, 58, 34, 119, 97, 110, 103, 120, 117, 97, 110, 48, 49, 34, 44, 34, 111, 112, 101, 114, 97, 116, 111, 114, 34, 58, 34, 50, 50, 53, 49, 55, 49, 34, 44, 34, 111, 112, 101, 114, 97, 116, 111, 114, 78, 97, 109, 101, 34, 58, 34, 119, 97, 110, 103, 120, 117, 97, 110, 48, 49, 34, 44, 34, 99, 108, 111, 117, 100, 66, 114, 97, 110, 100, 34, 58, 34, 119, 111, 99, 108, 111, 117, 100, 45, 105, 110, 100, 117, 115, 116, 114, 121, 34, 44, 34, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 34, 58, 34, 97, 50, 98, 51, 101, 51, 51, 55, 51, 45, 52, 55, 55, 99, 45, 52, 98, 48, 53, 45, 97, 99, 97, 57, 45, 98, 50, 50, 56, 98, 54, 55, 99, 49, 102, 100, 54, 34, 44, 34, 105, 110, 115, 116, 97, 110, 99, 101, 78, 97, 109, 101, 34, 58, 34, 101, 109, 114, 99, 95, 117, 109, 111, 98, 34, 44, 34, 115, 101, 114, 118, 105, 99, 101, 73, 100, 34, 58, 34, 97, 97, 55, 100, 57, 99, 100, 51, 50, 51, 50, 50, 52, 48, 55, 97, 56, 102, 49, 100, 48, 98, 49, 51, 100, 48, 101, 97, 97, 52, 54, 57, 34, 44, 34, 115, 101, 114, 118, 105, 99, 101, 78, 97, 109, 101, 34, 58, 34, 229, 174, 185, 229, 153, 168, 229, 140, 150, 229, 164, 167, 230, 149, 176, 230, 141, 174, 229, 185, 179, 229, 143, 176, 69, 77, 82, 67, 34, 44, 34, 115, 101, 114, 118, 105, 99, 101, 80, 108, 97, 110, 73, 100, 34, 58, 34, 97, 51, 100, 54, 49, 48, 52, 55, 100, 53, 50, 101, 52, 53, 54, 56, 56, 49, 55, 100, 56, 52, 51, 55, 52, 50, 97, 51, 53, 97, 97, 53, 34, 44, 34, 115, 101, 114, 118, 105, 99, 101, 80, 108, 97, 110, 78, 97, 109, 101, 34, 58, 34, 69, 77, 82, 67, 229, 159, 186, 231, 161, 128, 231, 137, 136, 34, 44, 34, 118, 101, 114, 115, 105, 111, 110, 34, 58, 34, 49, 46, 48, 46, 48, 34, 44, 34, 116, 114, 97, 99, 101, 73, 100, 34, 58, 34, 57, 51, 99, 101, 56, 57, 50, 51, 98, 51, 49, 56, 52, 57, 57, 50, 57, 100, 50, 49, 49, 51, 56, 51, 56, 98, 54, 51, 101, 52, 101, 99, 34, 44, 34, 117, 112, 100, 97, 116, 101, 84, 121, 112, 101, 34, 58, 110, 117, 108, 108, 44, 34, 99, 111, 110, 102, 84, 121, 112, 101, 34, 58, 110, 117, 108, 108, 44, 34, 97, 115, 121, 110, 99, 34, 58, 116, 114, 117, 101, 44, 34, 112, 97, 114, 97, 109, 101, 116, 101, 114, 115, 34, 58, 123, 34, 115, 101, 99, 114, 101, 116, 65, 99, 99, 101, 115, 115, 75, 101, 121, 34, 58, 34, 55, 69, 48, 69, 56, 57, 48, 56, 55, 53, 70, 66, 52, 56, 52, 56, 57, 70, 54, 55, 49, 49, 55, 67, 54, 68, 49, 49, 51, 55, 53, 51, 56, 55, 48, 55, 34, 44, 34, 98, 117, 99, 107, 101, 116, 78, 97, 109, 101, 34, 58, 34, 101, 109, 114, 99, 115, 112, 97, 114, 107, 48, 50, 34, 44, 34, 114, 101, 103, 105, 111, 110, 73, 100, 34, 58, 34, 56, 49, 53, 52, 50, 56, 49, 53, 55, 53, 53, 52, 52, 57, 54, 51, 48, 55, 50, 34, 44, 34, 97, 99, 99, 101, 115, 115, 75, 101, 121, 34, 58, 34, 67, 53, 52, 69, 67, 53, 54, 57, 48, 50, 68, 67, 52, 54, 54, 54, 65, 56, 53, 54, 51, 49, 48, 54, 52, 69, 69, 56, 70, 69, 52, 69, 57, 55, 50, 52, 34, 44, 34, 114, 101, 103, 105, 111, 110, 78, 97, 109, 101, 34, 58, 34, 231, 161, 133, 232, 176, 183, 52, 52, 229, 140, 186, 34, 44, 34, 99, 108, 117, 115, 116, 101, 114, 78, 97, 109, 101, 34, 58, 34, 101, 109, 114, 99, 95, 117, 109, 111, 98, 34, 44, 34, 122, 111, 110, 101, 73, 100, 34, 58, 34, 56, 49, 53, 52, 50, 56, 54, 50, 49, 48, 54, 53, 51, 53, 51, 54, 50, 53, 54, 34, 44, 34, 114, 101, 115, 111, 117, 114, 99, 101, 71, 114, 111, 117, 112, 73, 100, 34, 58, 34, 56, 51, 51, 55, 50, 50, 48, 54, 49, 56, 57, 48, 52, 51, 49, 51, 56, 53, 54, 34, 44, 34, 122, 111, 110, 101, 78, 97, 109, 101, 34, 58, 34, 233, 128, 154, 231, 148, 168, 228, 184, 147, 229, 140, 186, 49, 34, 44, 34, 99, 107, 101, 67, 108, 117, 115, 116, 101, 114, 73, 100, 34, 58, 34, 99, 107, 101, 45, 106, 119, 120, 107, 49, 50, 109, 56, 119, 115, 116, 101, 107, 98, 99, 104, 100, 117, 53, 52, 34, 44, 34, 115, 112, 97, 114, 107, 86, 101, 114, 115, 105, 111, 110, 34, 58, 34, 51, 46, 49, 46, 51, 34, 125, 44, 34, 109, 101, 116, 97, 100, 97, 116, 97, 34, 58, 123, 34, 105, 109, 97, 103, 101, 34, 58, 34, 34, 44, 34, 99, 111, 115, 116, 115, 34, 58, 34, 34, 44, 34, 118, 101, 114, 115, 105, 111, 110, 34, 58, 34, 49, 46, 48, 46, 48, 34, 125, 44, 34, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 34, 58, 110, 117, 108, 108, 12
原文地址: https://www.cveoy.top/t/topic/pebx 著作权归作者所有。请勿转载和采集!