将字符串转换为数组

米塔尔

我正在尝试转换一个字符串,就像

[{"a":"b"}, {"a":"d"}]

到数组/切片。有没有办法将字符串转换为数组?

解决方案:我的目标是从提供的 json 中获得一个结构数组。但是在我的代码中我做错了什么,导致了这个。得到了解决方案。

丹尼尔

由于您的示例是 JSON,您可以轻松转换输入:

const input = `[{"a":"b"}, {"a":"d"}]`

type arrayValue struct {
    A string `json:"a"`
}

func main() {
    // parse JSON to []arrayValue
    var arr []arrayValue
    if err := json.Unmarshal([]byte(input), &arr); err != nil {
        panic(err)
    }

    // convert []arrayValue to []string
    var strArr = make ([]string, len(arr))
    for i, val := range arr {
        strArr[i] = val.A
    }
    fmt.Println(strArr) // [b d]
}

试试看:https : //play.golang.org/p/KMsx1OaisGl

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章