【发布时间】:2021-06-02 23:39:27
【问题描述】:
我有一个从 Poloniex 的 API 收到的内存数据流。 https://docs.poloniex.com/#ticker-data
API 中的数据格式如下:
[
1002,
null,
[
149,
"382.98901522",
"381.99755898",
"379.41296309",
"-0.04312950",
"14969820.94951828",
"38859.58435407",
0,
"412.25844455",
"364.56122072",
0,
0
]
]
我可以看到这是https://jsonlint.com/上的有效json
我的最终目标是我想将其反序列化为 C# 中的一个对象,我可以将其发送到其他地方。
我以前从未见过这样的 JSON,并且不确定如何将这个结构反序列化到我自己的模型中。我习惯于将 JSON 视为keyvaluepairs
我已经反序列化为一个 JArray 并从那里开始,但我不确定最好的方法。
var deserialized =
(JArray)_serializer.Deserialize(new JsonTextReader(new StreamReader(stream))
{
CloseInput = false
});
最好的方法是什么?
反序列化的示例模型结构:
public class PoloniexResponseDataRoot
{
public List<PoloniexResponseDataParent> Children { get; set; }
}
public class PoloniexResponseDataParent
{
public int ChannelNumber { get; set; }
public int? OtherNumber { get; set; }
public List<PoloniexResponseDataChild> Children { get; set; }
}
public class PoloniexResponseDataChild
{
public object Data { get; set; }
}
谢谢
【问题讨论】:
-
当您说“我可以将其发送到其他地方。”时,这是否意味着您会将其发布到另一个 API?
-
是的,正确,我想将它映射到这个对象,我可以轻松地自动映射到我们的响应模型之一。问题是将它从这里的这种格式变成一个模型。我已经用响应模型更新了我的原始帖子,请看一下
标签: c# json asp.net-core websocket json.net