我对 .NET 还很陌生,所以这可能是一个显而易见的问题,但我已经为此苦苦挣扎了几个小时,这让我非常沮丧。我正在尝试创建一个简单的 GET 请求,它读取一个 JSON 文件并返回它,如下所示:// GET: api/test[HttpGet]public string Get(){ using (StreamReader reader = new StreamReader("data/test.json", System.Text.Encoding.UTF8)) { string json = reader.ReadToEnd(); return json; }}该test.json文件如下所示:{ "foo": "bar"}并curl http://\[::\]:50001/api/test返回:"{\n \"foo\": \"bar\"\n}"为什么 C# 返回带有转义字符和引号的字符串?应该如何编写此代码以使 JSON 响应正确格式化?任何帮助表示赞赏,谢谢
1 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
你试过这个吗?
在 ASP.NET Core 2.0 Web Api 中返回“原始”json
public IActionResult Get()
{
using (StreamReader reader = new StreamReader("data/test.json", System.Text.Encoding.UTF8))
{
string json = reader.ReadToEnd();
return Content(json, "application/json");
}
}
编辑:
正如 Kirk Larkin 所说,你也可以这样做:
public IActionResult Get()
{
// File(string virtualPath, string contentType)
// data/test.json needs to be in the wwwroot folder
return File("data/test.json", "application/json");
}
- 1 回答
- 0 关注
- 460 浏览
添加回答
举报
0/150
提交
取消