我对json.net序列化程序有一个奇怪的问题。这是序列化程序的代码。我认为它没有错:
var info = new Info("Peter", 25);
var filePath = Path.Combine(Application.dataPath, "test.xml");
FileStream stream = new FileStream(Path.Combine(Application.dataPath, "test.xml"), FileMode.Open);
var writer = new BsonWriter(stream);
var serializer = new JsonSerializer();
serializer.Serialize(writer, info);
stream.Close();
和Info类:
public class Info
{
public string name;
public int age;
public Info(string name, int age)
{
this.name = name;
this.age = age;
}
}
当这序列化时,一些奇怪的特征出现而不是json有效括号。它对于大量数据来说是不可读的: 这个时代似乎也没有被序列化。这是使用过的字符集的问题吗?对我来说非常方便,如果我可以通过查看文件检查所有序列化正确。设置序列化器的缩进设置也不会有所不同。我该如何解决这个问题?
答案 0 :(得分:1)
我认为您的问题是您正在使用BsonWriter
并期待可读的文本文件,请尝试使用TextWriter
代替:
var info = new Info("Peter", 25);
var filePath = Path.Combine(Application.dataPath, "test.xml");
TextWriter writer = File.CreateText(Path.Combine(Application.dataPath, "test.xml"));
var serializer = new JsonSerializer();
serializer.Serialize(writer, info);
writer.Close();