【发布时间】:2017-03-03 09:41:10
【问题描述】:
我正在读取一个包含大数据的 json 文件并将其反序列化为对象。我试图通过读取字节并反序列化来提高性能。但是当我搜索它时,它说我必须将它转换为字符串才能反序列化它。有什么办法可以直接反序列化而不转成字符串。
以下是我所做的。
byte[] bytesArray = File.ReadAllBytes(path);
var bytesAsString = Encoding.ASCII.GetString(bytesArray);
object person = JsonConvert.DeserializeObject<List<PersonList>>(bytesAsString);
我想去掉第二行,直接进入下一步,即跳过转字符串。
using (StreamReader file = File.OpenText(path))
{
JsonSerializer jsonSerializer = new JsonSerializer
{
NullValueHandling = NullValueHandling.Ignore
};
object person = (object)jsonSerializer.Deserialize(file, typeof(List<PersonList>));
}
以上代码我读取了整个文件并将其转换为对象。我读取字节的目的是提高这段代码的性能。
【问题讨论】:
-
你了解过序列化/反序列化吗? stackoverflow.com/questions/4143421/…
标签: c# json serialization