在golang中将接口数组转换为map数组的最佳方法是什么?

时间:2015-08-29 22:14:56

标签: arrays dictionary go

我已经创建了一个Web服务器,该服务器可以获得POST请求。但是,当我在POST数据中发送map [string]字符串数组时,服务器将其作为接口{}的数组接收。如何将其转换回map [string] string数组?

示例:就像我在POST请求中发送以下示例一样,

params : [{"name" : "shail", "age" : 24}]

我发送短信作为

[](map[string]string)

但是当服务器收到此数据时,它会将params视为

[]interface{}

。如何在由

定义的变量中指定params
[](map[string]interface{})

1 个答案:

答案 0 :(得分:0)

您可以做的最简单的事情就是对值进行类型断言:

package main

import (
    "fmt"
    "reflect"
)

func main() {
    var source []interface{}
    var test = make(map[string]string, 0)
    test["hello"] = "World"
    source = append(source, test)
    var dest = source[0].(map[string]string)
    fmt.Println(reflect.TypeOf(dest).Kind())
    fmt.Println(dest["hello"])
}