【问题标题】:How to parse a JSON list into an object [closed]如何将 JSON 列表解析为对象 [关闭]
【发布时间】:2019-01-03 21:31:59
【问题描述】:

我想将此代码解析为 C# 中的对象。我试图找到答案,但每篇文章都包含带有键值的数据,而这些数据没有。每条数据都用分号隔开。

[
  [
    1499040000000,
    "0.01634790",
    "0.80000000",
    "0.01575800",
    "0.01577100",
    "148976.11427815",
    1499644799999,
    "2434.19055334",
    308,
    "1756.87402397",
    "28.46694368",
    "17928899.62484339"
  ]
]

【问题讨论】:

标签: c# json list parsing


【解决方案1】:

要快速轻松地获取 Visual Studio 认为的 Json 对象,您可以复制完整的 Json,然后转到 Edit > Paste Special > Paste JSON As Classes。对我来说,这会为您发布的完整 Json 生成以下内容:

公共类 JsonClass { 公共对象[][] Property1 { 获取;放; } }

(这可能是 object[],具体取决于传入的 Json。)

这应该可以将JsonConvert 转换为List<JsonClass>,然后,根据您的情况,如果需要,请尝试将数据解析为正确的数据类型。

我认为另一种方法也如评论中提到的@dbc

您可以将其反序列化为 List<T> 以获得一些适当的 T,其中 T 的成员对应于数组条目,并且您使用的是来自 hereObjectToArrayConverter<T>。或者您可以使用来自json.netJArray.Parse(jsonString) 加载。

【讨论】:

  • 我正在使用您通过此代码提供的类 JsonConvert.DeserializeObject <List<JsonClass>>(json); 得到错误 未处理的异常:Newtonsoft.Json.JsonSerializationException:无法反序列化当前的 JSON 数组(例如 [1,2,3 ]) 进入类型“tradingbot.Domain.JsonClass”,因为该类型需要一个 JSON 对象(例如 {"name":"value"})才能正确反序列化。
  • @user3434894 - 外部JsonClass 对象不是必需的,只需执行JsonConvert.DeserializeObject<object [][]>(jsonString);
猜你喜欢
  • 1970-01-01
  • 2019-11-26
  • 1970-01-01
  • 1970-01-01
  • 2021-11-14
  • 2020-03-15
  • 1970-01-01
  • 2014-11-22
  • 2013-02-28
相关资源
最近更新 更多