在简单的Web API中,我正在使用一个控制器,该控制器读取JSON文件,然后必须将内容作为纯JSON字符串返回。但是,一旦读取,后者就会被许多 \ r , \“ 和 \ n 弄脏,因此AFAIK无法对其进行直接解析。我真的不知道如何解决这个问题,我尝试了一些愚蠢的.Replace("\r", "")
,但无济于事,因为我不知道如何解决"\""
。不知道该怎么办。
有人可以帮助我吗?很抱歉,如果有人问过这个问题并在其他地方解决了这个问题,但是我找不到已经解决的问题来解决我的问题。
[Produces("application/json")]
public async Task<string> JsonData()
{
using var reader = new StreamReader("Mocks\\data.json");
string fileContent = await reader.ReadToEndAsync();
fileContent = fileContent.Replace("\r", "").Replace("\n", "").Replace("\"", "\""); // Doesn't do the job
return fileContent;
}
这是如何给出的:
{\n\r\"name\":\"lloyd\",\n\r\"mydata\":\"somedata\",\n\r\"moredata\"...}
我希望所有格式化内容消失:
{
"name":"lloyd",
"mydata":"somedata",
"moredata": ...
}
答案 0 :(得分:0)
只需转换为对象并返回它:
[Produces("application/json")]
[HttpGet]
public async Task<Object> JsonData()
{
var reader = new StreamReader("data.json");
string fileContent = await reader.ReadToEndAsync();
var data = JsonConvert.DeserializeObject(fileContent);
return data;
}