我试图通过直接使用JSON.Net和StreamReader解析非常大的json文件(63mb)来反序列化。我正在使用mono + monodevelop在Ubuntu 18.04中进行开发。我需要使事情尽可能便携。
在JSON.Net文档的this page上,它给出了一个示例,该示例如何直接读取文件以进行反序列化
// deserialize JSON directly from a file
using (StreamReader file = File.OpenText(@"c:\movie.json"))
{
JsonSerializer serializer = new JsonSerializer();
Movie movie2 = (Movie)serializer.Deserialize(file, typeof(Movie));
}
所以我正在尝试做
using System;
using System.IO;
using Newtonsoft.Json;
private void LoadJson(string path)
{
using (StreamReader json_file = File.OpenText(path))
{
blah blah
}
}
但是,monodevelop向The name 'File' does not exist in the current context
投诉
我什至无法直接通过System.IO.File.OpenText
来解决
有人知道为什么mono无法找到System.IO.File吗?
答案 0 :(得分:0)
找到原因。
显然,如果创建可移植库项目,则无法使用完整的.NET API。之所以会这样,是因为我需要这段代码至少可以在MacOS和Windows上运行,但是我会弄清楚的。