猿问

如何在 Go 中处理嵌套的 JSON 数据

这是我的第一个问题,所以欢迎每一个建议。


目前,我正在使用 Go 开发一个小型项目,该项目处理来自 Web 上的 API 的股票数据。我在从那里解析一些 JSON 数据时遇到问题。JSON 看起来像这样:


{

    "Meta Data": {

        "1. Information": "Daily Time Series with Splits and Dividend Events",

        "2. Symbol": "IBM",

        "3. Last Refreshed": "2020-11-13",

        "4. Output Size": "Full size",

        "5. Time Zone": "US/Eastern"

    },

    "Time Series (Daily)": {

        "2020-11-13": {

            "1. open": "115.1900",

            "2. high": "117.3700",

            "3. low": "115.0100",

            "4. close": "116.8500",

            "5. adjusted close": "116.8500",

            "6. volume": "4683512",

            "7. dividend amount": "0.0000",

            "8. split coefficient": "1.0"

        },

        "2020-11-12": {

            "1. open": "115.6300",

            "2. high": "116.3700",

            "3. low": "113.4800",

            "4. close": "114.5000",

            "5. adjusted close": "114.5000",

            "6. volume": "6500799",

            "7. dividend amount": "0.0000",

            "8. split coefficient": "1.0"

        }, ...

我对元数据不感兴趣,只对时间序列(每日)键感兴趣。问题是,这不是一个数组,而是一个包含多个结构的结构。我有一个镜像时间序列(每日)键中的字段的结构,并希望将时间序列(每日)键转换为我的结构数组,以便我可以处理数据。


我已经找到了一些与我的问题相似的帖子,但它们都有一个 JSON 数组,这里不存在。我尝试使用 Go 的 JSON-Library 自己做,但没有成功。


千万里不及你
浏览 125回答 1
1回答

呼如林

您可以使用这样的结构:type Daily struct {   Open string `json:"1. open"`   ...}type Data struct {   TimeSeries map[string]Daily `json:"Time Series (Daily")`}
随时随地看视频慕课网APP

相关分类

Go
我要回答