json 本文未发布 发布文章

未匹配的标注

【golang】map,切片,数组转json格式(详细过程)

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

map和json互转

    //map转json
    mapData := make(map[string]interface{})
    mapData["age"] = 18
    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:18 name:沉默小管]
{“age”:18,“name”:“沉默小管”}

slice切片和json互转

    //slice切片转json
    sliceData := make([]interface{},0)
    sliceData = append(sliceData,"沉默小管")
    sliceData = append(sliceData,18)
    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

    //数组转json
    arrData := [...]interface{}{"沉默小管",18}
    fmt.Println(arrData)
    bytes2,_ := json.Marshal(mapData)
    stringData2 := string(bytes2)
    fmt.Println(stringData2)

    var result2 [...]interface{}
    //json转为Array数据结构
    json.Unmarshal([]byte(stringData2),&result2)
    fmt.Println(result2,"--arr")

结果:
[沉默小管 18]
{“age”:18,“name”:“沉默小管”}

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~