代码之家  ›  专栏  ›  技术社区  ›  Jayendra Parmar

字符串到golang中的2d浮点数组

  •  -2
  • Jayendra Parmar  · 技术社区  · 8 年前

    我正在go中编写代码,以便通过rest API检索数据。我得到的输出是一个字符串形式的二维数组,如下所示

    [
    [1514771940,13345.7,13381.01,13381,13345.7,4.276442830000001],
    [1514771880,13332.12,13387.72,13332.12,13381,14.83685867],
    .
    .
    .
    ]
    

    如何转换此 string 到二维浮点阵列?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Marc    8 年前

    这只是json中的一个数组。您可以使用 json 包裹:

    package main
    
    import (
        "encoding/json"
        "fmt"
    )
    
    func main() {
        input := `[[1514771940,13345.7,13381.01,13381,13345.7,4.276442830000001],[1514771880,13332.12,13387.72,13332.12,13381,14.83685867]]`
    
        var parsed [][]float64
        if err := json.Unmarshal([]byte(input), &parsed); err != nil {
            panic(err)
        }
        fmt.Println(parsed)
    }
    

    打印:

    [[1.51477194e+09 13345.7 13381.01 13381 13345.7 4.276442830000001] [1.51477188e+09 13332.12 13387.72 13332.12 13381 14.83685867]]
    

    您应该检查API文档,它们必须说明响应的格式。如果这是通过http进行的,那么内容类型也会告诉您。