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

时间:2018-01-14 16:06:53

标签: arrays string go floating-point

我正在编写代码,通过其余的API检索数据。我得到的输出是一个二维数组作为字符串,像这样

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

如何将此string转换为二维浮点数组?

1 个答案:

答案 0 :(得分:2)

这只是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,内容类型也会告诉你。