需要处理一个大的JSON文件。优化内存使用
use
bellow语法,正在寻找一种在执行方法读取器之前检查输入JSON是否有效或输入流是否为JSON的方法。Read(),因为在执行无效的JSON后,此语法在此处引发异常。
例外情况:
纽顿软件。Json。JsonReaderException:“分析值时遇到意外字符:h.路径“”,第0行,位置0。”
HttpClient client = new HttpClient();
using (Stream s = client.GetStreamAsync("http://www.test.com/large.json").Result)
using (StreamReader sr = new StreamReader(s))
using (JsonReader reader = new JsonTextReader(sr))
{
JsonSerializer serializer = new JsonSerializer();
// read the json from a stream
// json size doesn't matter because only a small piece is read at a time from the HTTP request
while (reader.Read())//invalid json throws exception
Person p = serializer.Deserialize<Person>(reader);
}