gpt4 book ai didi

json - 如何使用外部 Json 文件作为 webapi 的数据源

转载 作者:行者123 更新时间:2023-12-04 18:05:00 26 4
gpt4 key购买 nike

以下是我的代码片段,它工作正常,我的查询遵循代码:

型号:

namespace CVHub.Models
{
[DataContract]
public class Context
{
[DataMember]
public int sessionID { get; set; }
[DataMember]
public string Name { get; set; }

public static List <Context> Contexts= new List<Context>
{

new Context{sessionID=1,Name="Name1"},
new Context {sessionID=2,Name="Name2"},
new Context {sessionID=3,Name="Name3"}
};
}
}

Controller :
namespace CVHub.Controllers
{
public class ContextController : ApiController
{
List<Context> items;
// GET api/values
public IEnumerable<Context> Get()
{
//return Context.Contexts;
return items;
}
}
}

问题:我想使用外部 json 文件(驻留在 app_data 文件夹中)来提供相同的数据,而不是执行 new Context{sessionID=1,Name="Name1"},如何使用我从 json 文件中读取的数据?我对 MVC 和 webApi 很陌生,所以如果专家可以发布整个工作代码或尽可能多的细节,那将会有很大帮助。

最佳答案

您可以返回 HttpResponseMessage将您的 JSON 文件加载到 StringContent .

public class JsonFileController : ApiController
{
public HttpResponseMessage Get()
{
var json = File.ReadAllText(Server.MapPath(@"~/App_Data/contexts.json");

return new HttpResponseMessage()
{
Content = new StringContent(json, Encoding.UTF8, "application/json"),
StatusCode = HttpStatusCode.OK
};
}
}

App_Data/contexts.json
[
{
"sessionId": 1,
"name": "name1"
},
{
"sessionId": 2,
"name": "name2"
},
{
"sessionId": 3,
"name": "name3"
}
]

关于json - 如何使用外部 Json 文件作为 webapi 的数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31370867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com