【发布时间】:2021-04-18 17:29:16
【问题描述】:
我发现该函数可以正确地用于 JSON 解析:
var objs = JObject.Load(new JsonTextReader(new StreamReader(JsonPath)))
.SelectTokens("*")
.Select(t => JsonConvert.DeserializeObject<Cars>(t.ToString()));
但它在使用后不会释放文件(所以我不能将它用于其他功能)...我尝试使用函数关闭,但似乎无法处理对象!
附:我已经检查了与该主题相关的previous open-one question,但没有人谈论如何访问对象文件,并且如果我们计算我有超过 1 个对象,那么问题似乎是不同的......猜想有人可以解释得更好它是如何工作的......
【问题讨论】:
-
不要写这样的代码。该文件由文本阅读器保持打开状态。要关闭文本阅读器,您需要能够访问它。将所有代码放在一行中没有任何好处
-
JsonConvert.DeserializeObject<Cars>(t.ToString()))有什么意义??? JSON 文件的实际内容是什么?如果你想反序列化到特定的类,直接使用反序列化器。 -
感谢您的回复!我真的不知道......我需要承认......我在 c# 中很新,我只想获取 json 并读取它上面的所有字段......你有更好的代码吗建议我? (我在堆栈的另一个主题中找到它,我正在研究 json,我接受了它,它似乎工作......)
-
您不能只编写代码并期望它能够工作。 JSON.NET 有大量的文档来展示如何解析或反序列化文件。每种情况下只有几行。同样,文件包含什么?
-
当你开始喝威士忌、爱上橄榄并使用 DI 的时候会到来 :)
标签: c# json parsing streamreader