【问题标题】:how to parse a portion of an incomplete JSON in c#如何在 C# 中解析部分不完整的 JSON
【发布时间】:2020-11-17 12:40:31
【问题描述】:

我有一个这种格式的 json:

[
  "one",
  "Two",
  "Three",
  "Four",
  "Five"
]

如何解析并放入列表

我尝试了 NewtonSoft json,它无法读取数据。它会产生错误。

更新 1

我使用了这个代码:

JObject o1 = JObject.Parse(File.ReadAllText(filename));

并得到这个错误:

【问题讨论】:

  • 看起来像一个字符串列表。您尝试了什么,错误是什么?
  • JArray.Parse.
  • @JeroenMostert 请查看我的更新。我已经使用此命令读取 json 并失败。

标签: c# json json.net


【解决方案1】:

您正在尝试使用JObject.Parse,但输入不是对象,而是数组。请改用JArray.Parse

JArray a1 = JArray.Parse(File.ReadAllText(filename));

或者:

List<string> numbers = JsonConvert.DeserializeObject<List<string>>(File.ReadAllText(filename));

【讨论】:

  • 那行得通。如何将其转换为 List
  • @mans:查看更新后的答案以将反序列化为特定类型。否则我想你可以遍历JArray并将项目添加到List&lt;T&gt;,或者使用LINQ将JArray投影到List&lt;T&gt;
  • 要从JArray 转到List&lt;string&gt;,您将使用ToObject&lt;List&lt;string&gt;&gt;()
猜你喜欢
  • 1970-01-01
  • 2019-05-25
  • 1970-01-01
  • 2011-01-10
  • 2019-11-08
  • 2017-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多