使用 MemoryStream 序列化为 JSON,同时添加换行符 C#

Serializing into JSON using MemoryStream,while adding newlines C#

我必须将一些 C# class 数据序列化为 JSON。为此,我使用了 MemoryStream 和 DataContractJsonSerializer。

MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
ser.WriteObject(stream1, p);
using (FileStream file = new FileStream("Write.json", FileMode.Create, FileAccess.ReadWrite))
{
    stream1.Position = 0;
    stream1.Read(stream1.ToArray(), 0, (int)stream1.Length);
    file.Write(stream1.ToArray(), 0, stream1.ToArray().Length);
    stream1.Close();
    file.Close();
}

运行 这样的应用程序会产生以下输出:

{"age":42,"arr":[{},{},{}],"name":"John","value":null,"w":{}}

但是,对于我的任务,我必须生成一个 JSON 文件,其中每个条目都在一个新行中输入。示例:

"SomeData":[
{
    "SomeData" : "Value",
    "SomeData" : 0,
    "SomeData": [
        {
            "SomeData" : "Value",
            "SomeData" : 0
            ]
        }
    ]
}, etc. etc.

关于如何执行此操作的任何想法?提前致谢!

好的,如果您想这样做,只需添加此问题中回答的代码即可。

question here