在 asp.net 核心 api 项目中使用 JSON 使用静态数据实现 CRUD 功能

implement CRUD functionality with static data using JSON in asp.net core api project

如何对本地存储的json文件进行Crud操作?例如,我有 id、name 和 roll number。我想使用 asp.net 核心 Web API 在其中获取、post、放置和删除。但是我不应该使用数据库来存储数据,而是我需要使用方法将数据存储在控制器中并使用它来执行 http 操作。任何人都可以帮助我一些步骤或代码吗?

1.Get json 文件:

var data = System.IO.File.ReadAllText("C:\Repos\test.json");

2.Delete json 文件:

if (System.IO.File.Exists(@"C:\Repos\test.json"))
{
    System.IO.File.Delete(@"C:\Repos\test.json");
}

3.Put json 文件:

var data = System.IO.File.ReadAllText("C:\Repos\test.json");   
dynamic jsonObj = Newtonsoft.Json.JsonConvert.DeserializeObject<Newtonsoft.Json.Linq.JObject>(data);

jsonObj["id"] = 4;

string output = Newtonsoft.Json.JsonConvert.SerializeObject(jsonObj, Newtonsoft.Json.Formatting.Indented);

System.IO.File.WriteAllText("C:\Repos\test.json", output);

4.Add json 文件的新列:

var data = System.IO.File.ReadAllText("C:\Repos\test.json");

var jObj = JObject.Parse(data);
jObj["NewField"] = "value";
var newjson = jObj.ToString(Newtonsoft.Json.Formatting.Indented);

System.IO.File.WriteAllText("C:\Repos\test.json", newjson);

注:

如果您使用 beyond ASP.NET Core 3.x,您需要添加 Newtonsoft 支持。

参考: