调用时转义字符的格式错误 System.IO.StreamReader
Wrong formatting with escape characters when calling System.IO.StreamReader
我是 .NET 的新手,所以这可能是一个显而易见的问题,但我已经苦苦挣扎了几个小时,这让我非常沮丧。
我正在尝试创建一个读取 JSON 文件和 returns 文件的简单 GET 请求,如下所示:
// 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
returns:
"{\n \"foo\": \"bar\"\n}"
为什么 C# 返回带有转义字符和引号的字符串?
应该如何编写此代码才能使 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");
}
}
编辑:
正如柯克·拉金所说,你也可以这样做:
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");
}
我是 .NET 的新手,所以这可能是一个显而易见的问题,但我已经苦苦挣扎了几个小时,这让我非常沮丧。
我正在尝试创建一个读取 JSON 文件和 returns 文件的简单 GET 请求,如下所示:
// 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
returns:
"{\n \"foo\": \"bar\"\n}"
为什么 C# 返回带有转义字符和引号的字符串?
应该如何编写此代码才能使 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");
}
}
编辑:
正如柯克·拉金所说,你也可以这样做:
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");
}