我有一个大的JSON文件(约1.5 GB),我想将其转换为DataTable。但是我想做的是,首先我应该阅读它,然后deleializeObject到DataTable。这是我的代码:
StreamReader read = new StreamReader(@"C:UsersRezaDownloadsyelp_dataset_challenge_academic_datasetyelp_dataset_challenge_academic_datasetyelp_dataset_challenge_academic_datasetyelp_academic_dataset_review.json");
string json = read.ReadToEnd();
DataTable tester = JsonConvert.DeserializeObject<DataTable>(json);
dataGridView1.DataSource = tester;
但是此代码给我错误并显示System.outofMemoryException我该怎么办?
从我通过查看jsonconvert方法看到的内容,它不包含一个接受流作为输入的方法 - 似乎只有字符串。所以 - 坏消息 - 它不会直接。
您可能需要以某种方式将字符串分为较小的块,然后将其转换。
我找到了一篇文章,在此处描述了类似的过程:
http://www.drdobbs.com/windows/parsing-big-records-with-jsonnet/240165316?pgno=1