欢迎阅读「 golang中map,切片,数组与json格式互转详细过程 」

golang中map,切片,数组与json格式互转详细过程

网站技术 ayflying 2001℃ 评论

转换方法如下

1
2
3
4
//map,slice切片,arr数组类型 转为json
json.Marshal()
//对json解码转为指定map,slice切片,arr数组等类型
json.Unmarshal()


map和json互转

1
2
3
4
5
6
7
8
9
10
11
12
13
//map转json
mapData := make(map[string]interface{})
mapData["age"] = 23
mapData["name"] = "七彩悠悠"
fmt.Println(mapData)
bytes, _ := json.Marshal(mapData)
stringData := string(bytes)
fmt.Println(stringData)
 
var result map[string]interface{}
//json转为map数据结构
json.Unmarshal([]byte(stringData), &result)
fmt.Println(result, "--mapData")

运行结果

map[age:23 name:七彩悠悠]
{"age":23,"name":"七彩悠悠"}


slice切片和json互转

1
2
3
4
5
6
7
8
9
10
11
12
13
//slice切片转json
sliceData := make([]interface{}, 0)
sliceData = append(sliceData, "七彩悠悠")
sliceData = append(sliceData, 23)
fmt.Println(sliceData)
bytes1, _ := json.Marshal(sliceData)
stringData1 := string(bytes1)
fmt.Println(stringData1)
 
var result1 []interface{}
//json转为slice数据结构
json.Unmarshal([]byte(stringData1), &result1)
fmt.Println(result1, "--slice")

运行结果

[沉默小管 18]

["沉默小管",18]


Array数组转json

1
2
3
4
5
6
7
8
9
10
11
//数组转json
arrData := [...]interface{}{"七彩悠悠", 23}
fmt.Println(arrData)
bytes2, _ := json.Marshal(arrData)
stringData2 := string(bytes2)
fmt.Println(stringData2)
 
var result2 [...]interface{}
//json转为Array数据结构
json.Unmarshal([]byte(stringData2), &result2)
fmt.Println(result2, "--arr")

运行结果

[七彩悠悠 23]

{"age":23,"name":"七彩悠悠"}


转载请注明:七彩悠悠博客 | 心悠悠 情悠悠 » golang中map,切片,数组与json格式互转详细过程

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论

高效,专业,悠悠博客

联系我们