为了账号安全,请及时绑定邮箱和手机立即绑定

调用 System.IO.StreamReader 时使用转义字符格式错误

调用 System.IO.StreamReader 时使用转义字符格式错误

C#
暮色呼如 2021-11-28 16:12:16
我对 .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");

}


查看完整回答
反对 回复 2021-11-28
  • 1 回答
  • 0 关注
  • 460 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信