从ASP.NET服务器导入JSON,用于JSON.NET



问题
将JSON从服务器上的.JSON文件中提取到代码中,以便将其反序列化为.NET对象的最佳方法是什么?

详细信息
我在VS2013 ExpressMVC项目中保存了一个名为"backback.json"的文件。该文件不是由我的项目创建的-它是通过执行"添加现有项"添加到项目中的

"backlog.json"是json对象的集合。我需要从集合中提取这些对象,这样我就可以将这些对象添加到我的项目使用和操作的数据库中。

该项目使用.NET Framework 4.5,我已经使用NuGet包管理器将NewtonSoft的Json.NET添加到该项目中。一旦我将"backback.json"中的对象放入代码中,我将使用json.NET通过C#对对象进行反序列化和操作。

例如:

public void AddJSON(EFWorkOrderModelContainer WorkOrderContainer)
{
    // Pull backlog.json from C:ProjectApp_Databacklog.json
    // De-serialize and parse
}

不能执行string myjson = File.ReadAllText("~/App_Data/backlog.json");,因为File类不知道如何从应用程序根相对路径转换。您可以执行string myjson = File.ReadAllText(Server.MapPath("~/App_Data/backlog.json"));,或者如果Server不在范围string myjson = File.ReadAllText(HttpContext.Current.Server.MapPath("~/App_Data/backlog.json"));

你不应该做string json = File.ReadAllText(@"C:ProjectApp_Databacklog.json");,因为这取决于你在网络服务器中放置网站的位置,这是个坏主意。

是的,MSDN现在已经关闭,所以您不能用它来查找File类的名称空间。但在Visual Studio中,如果只键入File,则可以使用Intellisense通过右键单击File来自动导入命名空间。

我不会将自己的答案标记为"已回答",但Newtonsoft.com的网站上实际上描述了类似的处理方法。单击此处查看示例。。。它准确地描述了我在寻找什么。

相关内容

  • 没有找到相关文章

最新更新