我正在修改.NET Core 2.1.4和Web-API项目。
我的代码包含一些硬编码的虚拟数据,采用普通或逐字字符串文字的形式。无论如何,无论我使用什么样的文字,结果都是一样的。
string status1 = "{\"ID\":\"7A\",\"status\":\"available\"}";
string status2 = @"{""ID"":""7A"",""status"":""available""}";
我通过调用Ok
函数返回它们:
IActrionResult result = Ok(status1);
几个月前我使用.NET Core 1.1使用了相同的测试项目,一切正常。返回的结果类似于以下代码段,并且符合我的需要,以便使用有效的JSON字符串进行演示。
{"ID":"7A","status":"available"}
升级到dotnet core 2后,服务器返回相同的字符串,但附加双引号和转义字符,如下所示。
"{\"ID\":\"7A\",\"status\":\"available\"}"
这似乎与Web API returns escaped JSON
有关我想了解为什么会发生这种情况以及控制这种情况的机制。