C# 如何将文本内容保存为硬盘上的json格式文件名?

C# 如何将文本内容保存为硬盘上的json格式文件名?,c#,json,C#,Json,这是我现在用来在硬盘上创建文本文件的代码: using (StreamWriter sw = new StreamWriter(@"C:\temp\test1.txt", false)) { using (StreamReader sr = new StreamReader(@"C:\temp\test.txt")) { while (sr.Peek() >= 0

这是我现在用来在硬盘上创建文本文件的代码:

using (StreamWriter sw = new StreamWriter(@"C:\temp\test1.txt", false))
            {
                using (StreamReader sr = new StreamReader(@"C:\temp\test.txt"))
                {
                    while (sr.Peek() >= 0)
                    {
                        var strReadLine = sr.ReadLine().Trim().Replace("\t", "").Replace("\r\n", "");
                        if (!String.IsNullOrWhiteSpace(strReadLine))
                        {
                            sw.WriteLine(strReadLine);
                        }
                    }
                }
            }
最后,test1.txt内容格式如下所示:

用希伯来语写的。但是格式是一行文本文件,然后在它下面是一行日期和时间。等等 例如:

Hi world
דווח במקור בתאריך: 07.05.14  שעה : 09:56
Hello all
דווח במקור בתאריך: 07.05.14  שעה : 09:54
Hi everyone
דווח במקור בתאריך: 06.05.14  שעה : 23:09
我想在我的硬盘上不仅保存为文本文件,而且还保存为json格式的文件。
一旦strReadLine包含文本行和日期时间行,它就是字符串变量。

要输出到JSON,您应该首先使用希望存储的结构来排列数据。您可以通过创建包含要存储的属性的具体类(甚至动态类型)来实现这一点。然后可以使用Json.Net之类的库来序列化对象。作为一个开始,文档非常好


至于读/写文件,我建议使用
File.ReadAllLines()
File.ReadLines()
(取决于您的场景-查看两者的比较)。对于输出,File.writeAllines()工作正常。

尝试在循环中添加这一行:JsonConvert.DeserializeObject(new{strReadLine=strReadLine});但我得到了一个错误:错误2参数1:无法从'AnonymousType#1'转换为'string'