gpt4 book ai didi

json - 解码动态 JSON

转载 作者:IT王子 更新时间:2023-10-29 02:11:45 26 4
gpt4 key购买 nike

<分区>

我从遵循此模式的 API 接收动态 JSON:

{
"ts": timestamp,
"data": [
[ code1, payload1 ],
[ code2, payload2 ],
...
]
}

例如原始数据将是:

    var streamSnapshot = []byte(

`{
"ts": 1496244373.04,
"data":[
["xrate", {"rate":1.2916,"ccy":"USD"}],
["balance",
{
"open_stake":["GBP", 0.0],
"balance":["GBP", 0.0]
}
],
["event",
{
"competition_id":"545",
"ir_status":"pre_event",
"start_time":"2017-09-10T17:00:00+00:00",
"competition_name":"USA NFL",
"event_id":"2017-09-10,21617,21635",
"home":"Buffalo Bills",
"away":"New York Jets",
"sport":"af",
"competition_country":"US"
}
],
["sync", {"Token":"eb1c57132d004f8d8fb967c076921fac"}]
]
}`)

考虑到我们要避免解码为这样的结构:

type StreamMessage struct {
Data [][]interface{} `json:"data"`
Ts float64 `json:"ts"`
}

我们必须像这样将数据投回Go:

    m := raw.(map[string]interface{})

switch messageType {
case XRATE:
xrate := XRate{
Message: Message{
Type: XRATE,
TimeStamp: msg.Ts,
},
rate: m["rate"].(float64),
ccy: m["ccy"].(string),
}
...

什么是更好的解码方法?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com