【问题标题】:Go: Deserialize array stringGo:反序列化数组字符串
【发布时间】:2017-03-03 16:58:14
【问题描述】:

我有一个字符串:-["a","b","c"]。如何解析/将其转换为 Go 数组?我可以进行字符串解析,但是 Go 中是否有任何开箱即用的功能。

【问题讨论】:

    标签: arrays string parsing go slice


    【解决方案1】:

    json.Unmarshal()怎么样?

    s := `["a","b","c"]`
    
    var arr []string
    if err := json.Unmarshal([]byte(s), &arr); err != nil {
        fmt.Println("Error:", err)
    }
    fmt.Printf("%q", arr)
    

    输出(在Go Playground上试试):

    ["a" "b" "c"]
    

    但是要知道 json 包在底层做了很多反射功夫,如果你自己编写解析会更快。另一方面,json 包也会处理输入中的随机空格——甚至是换行符和 Unicode 序列,比如这个(相当于["a","b","c"]):

    s := `[ "a" , "b"  
     ,"\u0063"  ]  `
    

    【讨论】:

    • 啊,我认为字符串必须是 {["a","b","c"]} 才能解组工作,但数组本身就是 json 对象
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 2016-05-13
    相关资源
    最近更新 更多