【问题标题】:Basic concept for manipulating offline data操作离线数据的基本概念
【发布时间】:2015-05-10 19:28:06
【问题描述】:

我是 C# 的新手,从未使用过 JSON。我开始研究 JSON,因为我需要一种离线存储数据的方法,而且我仅限于 JSON 或 XML(企业繁文缛节)。我正在尝试围绕在 C# 中使用 JSON 文件的基本概念。

如果您要处理 JSON 文件中的数据,流程图是什么。

假设我正在使用控制台应用程序扫描文件夹中的所有文件并将完整文件路径以及写入时间和大小添加到 JSON 文件,然后稍后再返回并遍历 JSON 数据检查以查看是否该文件存在,如果没有在 JSON 文件中将该文件标记为已删除。

我们是否:将整个文件加载到内存中,对其进行迭代,进行更改(添加/更改/删除数据),将整个文件写回磁盘(File.WriteAllText)?

【问题讨论】:

  • Newtonsoft.Json。将其作为对象结构读取,像任何其他 C# 对象一样对其进行操作,然后将其重新序列化。

标签: c# json


【解决方案1】:

Here is what you are after

它是newtonsoft 制作的一个名为Json.Net 的库。它允许您将 json 解析为对象,并将其序列化回 json。

文件读取和写入将保持不变。不同之处在于,一旦您从文件中加载了所有文本,您将调用:JsonConvert.DeserializeObject<T>(jsonString),然后在保存时调用您将文本写入文件的首选方法,您将传递的字符串将是 @ 的结果987654323@

【讨论】:

  • 谢谢,我一直在研究那个库,但我缺少的是基础知识。我是否正确地说将整个文件加载到内存中进行所有更改然后将整个文件写回?还是我读写增量更改?
  • 我回答的第二部分回答了这个问题。使用 JSON.net 处理文件时,您将加载并解析整个文件,然后一次性保存。您可以逐步进行,这取决于您的目标。
猜你喜欢
  • 2023-04-09
  • 2021-07-23
  • 2016-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
相关资源
最近更新 更多