C# 调用System.IO.StreamReader时,转义字符格式错误
我对.NET还相当陌生,所以这可能是一个明显的问题,但我已经为此挣扎了几个小时,这让我非常不安 我试图创建一个简单的GET请求,读取JSON文件并返回它,如下所示:C# 调用System.IO.StreamReader时,转义字符格式错误,c#,asp.net-core,.net-core,streamreader,C#,Asp.net Core,.net Core,Streamreader,我对.NET还相当陌生,所以这可能是一个明显的问题,但我已经为此挣扎了几个小时,这让我非常不安 我试图创建一个简单的GET请求,读取JSON文件并返回它,如下所示: // GET: api/test [HttpGet] public string Get() { using (StreamReader reader = new StreamReader("data/test.json", System.Text.Encoding.UTF8)) { string j
// 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"
}
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");
}
和curl http://\[::\]:50001/api/test
返回:
"{\n \"foo\": \"bar\"\n}"
为什么C#返回带有转义字符和引号的字符串
如何编写此代码以正确格式化JSON响应
非常感谢您的帮助,谢谢您尝试过这个吗
编辑:
正如柯克·拉金所说,你也可以这样做:
{
"foo": "bar"
}
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");
}
\n
是一个新行,\“
是一个引号”
,正如我们在debuggerHi Dmitry中看到的,它不在调试器中。这些字符在字符串中,在responseThanks@kirk larkin中返回,我将查看它!是的,成功了!非常感谢你。完全不明显though@Damien_The_Unbeliever事实上,排版编辑