onl*_*ins 5 json asp.net-web-api
以下是我的代码片段工作正常,我的查询遵循代码:
模型:
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"}
};
}
}
Run Code Online (Sandbox Code Playgroud)
控制器:
namespace CVHub.Controllers
{
public class ContextController : ApiController
{
List<Context> items;
// GET api/values
public IEnumerable<Context> Get()
{
//return Context.Contexts;
return items;
}
}
}
Run Code Online (Sandbox Code Playgroud)
问题:我想使用外部json文件(驻留在app_data文件夹中)来提供相同的数据而不是new Context{sessionID=1,Name="Name1"},
如何使用我从json文件中读取的数据?我是MVC和webApi的新手,所以如果专家可以发布整个工作代码或尽可能多的详细信息,那将是非常有帮助的.
您可以在HttpResponseMessage加载JSON文件的情况下 返回a 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
};
}
}
Run Code Online (Sandbox Code Playgroud)
App_Data文件/ contexts.json
[
{
"sessionId": 1,
"name": "name1"
},
{
"sessionId": 2,
"name": "name2"
},
{
"sessionId": 3,
"name": "name3"
}
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8894 次 |
| 最近记录: |