gpt4 book ai didi

json - 从 web api Controller 返回 json

转载 作者:行者123 更新时间:2023-12-01 00:49:09 26 4
gpt4 key购买 nike

我有 web api Controller :

[HttpPost]
public String UploadFile()
{//do some logic
String jsResult="{\"success\":\"false\", \"msg\":\"No file or user ID!\"}";
return jsResult;
}

返回给客户端的字符串是这样的: "{\"success\":\"false\",\"msg\":\"No file or user ID!\"}";

我手动编写 json 字符串,但客户端不解析它(我猜是因为返回的字符串用“\”转义了。
从这个 Controller 方法将 json 字符串返回到 clinet 的正确方法是什么?

最佳答案

尝试自动序列化 webapi:

创建模型:

public class UploadResult
{
public UploadResult()
{

}
public bool Success { get; set; }
public string Msg { get; set; }
}

并返回
public UploadResult UploadFile()
{
var r = new UploadResult(){ Success = false, Msg = "No file or user ID!" };
return r;
}

在您的示例中,您正在显式序列化,结果最终序列化了两次。因为 WebApi 已经在管道中具有 Json 序列化器。

要异步:
public async Task<IHttpActionResult> UploadFile()
{
var r = new UploadResult(){ Success = false, Msg = "No file or user ID!" };
// some "await" logic
return Ok(r);
}

添加 using System.Web.Mvc失败是因为
[System.Web.Http.HttpPost]  != [System.Web.Mvc.HttpPost]

而 [HttpPost] 是模棱两可的。不管怎样, Mvc ref 不是必需的 .删除它并重新添加[HttpPost]

关于json - 从 web api Controller 返回 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32369530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com