douzhushen_9776 2019-03-26 07:05
浏览 45

如何将嵌套的JSON转换为Go代码? [重复]

This question already has an answer here:

I have used:

https://mholt.github.io/json-to-go/

to convert

{
    "id": 5533,
    "action": "/api/v1/private/subscribe",  
    "arguments": {
        "instrument": ["BTC-19DEC14"],
       "event": ["order_book", "trade", "user_order"]
    }
}

into

type AutoGenerated struct {
    ID        int    `json:"id"`
    Action    string `json:"action"`
    Arguments struct {
        Instrument []string `json:"instrument"`
        Event      []string `json:"event"`
    } `json:"arguments"`
}

I have then tried to use this in Go code as follows:

package main

import (
    "flag"
    "os"
)

var addr = flag.String("addr", "www.deribit.com", "http service address")

func main() {

    type AutoGenerated struct {
        ID        int    `json:"id"`
        Action    string `json:"action"`
        Arguments struct {
            Instrument []string `json:"instrument"`
            Event      []string `json:"event"`
        } `json:"arguments"`
    }

    json := &AutoGenerated{
        ID:     42,
        Action: "/api/v1/public/getorderbook",
        Arguments: struct {
            Instrument: ["BTC-19DEC14"],
            Event:       ["order_book", "trade", "user_order"],
        },
    }

}

I'm getting an error with Arguments ie my struct within a struct.

How do I convert my JSON to a variable that I can use within go?

</div>
  • 写回答

1条回答 默认 最新

  • dongting3135 2019-03-26 07:16
    关注

    example is ..

    package main
    
    import (
        "flag"
        "fmt"
    )
    
    var addr = flag.String("addr", "www.deribit.com", "http service address")
    
    type Arguments struct {
        Instrument []string `json:"instrument"`
        Event      []string `json:"event"`
    }
    
    type AutoGenerated struct {
        ID       int       `json:"id"`
        Action   string    `json:"action"`
        Argument Arguments `json:"arguments"`
    }
    
    func main() {
    
        json := &AutoGenerated{
            ID:     42,
            Action: "/api/v1/public/getorderbook",
            Argument: Arguments{
                Instrument: []string{"BTC-19DEC14"},
                Event:      []string{"order_book", "trade", "user_order"},
            },
        }
    
        fmt.Println(json)
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀