我有一个使用此代码返回 json 的 aspnet web api:
Project_Model mdl = new Project_Model(transactionId, data);
string json = string.Empty;
json = JsonConvert.SerializeObject(mdl);
这是变量“json”的值:
{\"Pj_Id\":\"23a6bd47-c35a-4ee3-8998-bd0406bc5839\",\"Pj_CUsr_Id\":\"8cb52c3e-25b7-412d-8010-cadd75f1f64b\",\"Pj_Number\":\"test 101\",\"Pj_Name\":\"Test Project 101\",\"Pj_Location\":\"1551 Main St, Houston\"}
但它应该是这样的:
{
"Pj_Id": "23a6bd47-c35a-4ee3-8998-bd0406bc5839",
"Pj_CUsr_Id": "8cb52c3e-25b7-412d-8010-cadd75f1f64b",
"Pj_Number": "test 101",
"Pj_Name": "Test Project 101",
"Pj_Location": "1551 Main St, Houston"
}
我知道我们会在调试器中得到这样的转义字符,但不会在输出中得到。上面带有反斜杠的示例是从 PostMan 相同 API 的输出中复制的。
谁能告诉我为什么会发生这种情况以及可以做些什么来清理它?
谢谢。
答案 0 :(得分:2)
@phuzi 在上面的评论中是正确的:
<块引用>理想情况下,您不应该自己序列化 JSON,因为它很可能被双重序列化。只需从 ASP.Net Web API 操作方法而不是 JSON 返回 mdl
我对它进行了双重序列化。我刚刚返回了类,结果是完美的 json。
谢谢。