为什么这个 return 是 JSON 的转义字符串?

Why does this return an escaped string of JSON?

我有这个控制器动作:

[HttpPost]
public IHttpActionResult Post(FormDataCollection formData)
{
    return this.Ok(JsonConvert.SerializeObject(formData));
}

问题是我得到一个 JSON 的字符串,其中包含转义字符串,如下所示:

"[{\"Key\":\"input01\",\"Value\":\"hello world\"},{\"Key\":\"input02\",\"Value\":\"c:\\XXX\\XXX\\XXX\\XXX\\XXX.dwg\"},{\"Key\":\"input03\",\"Value\":\"junk\"}]"

我如何 return 普通 JSON?

这是您的对象的有效字符串表示形式。如果您对该字符串执行 JSON.parse() ,它就可以正常工作。如果您不想序列化它,那么只需 return 实际对象:

[HttpPost]
public IHttpActionResult Post(FormDataCollection formData)
{
    return this.Ok(formData);
}