gpt4 book ai didi

json - 将对象序列化为 json 产生双引号

转载 作者:行者123 更新时间:2023-12-04 13:38:05 27 4
gpt4 key购买 nike

我有一个 http 可调用的 wcf 服务方法;

[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, 
BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "/CheckHMAC/{hMac}")]
public string CheckId(string Id)
{
Result result = new Result() { OTP = 1, IsSuccessful = false, CustomerId = "" };
return JsonConvert.SerializeObject(result);
}

此方法产生如下输出;

"{\"IsSuccessful\":false,\"OTP\":1,\"CustomerId\":\"\"}"

使用此方法的客户端提示此格式无效,我已经用另一个客户端对其进行了测试,是的,它似乎无效。到现在为止,我从来没有遇到过这样的问题,输出应该很容易反序列化,为什么 json 对象用双引号引起来?如何获取有效的 json 字符串?

{"IsSuccessful":false,"OTP":1,"CustomerId":""}

最佳答案

嗯,看来我错过了这个post尽管进行了长时间的搜索。这里的错误是方法签名:string;

..the API controller will serialize the string as a JavaScript string literal—which will cause the string to be wrapped in double quotes and cause any other special characters inside the string to escaped with a backslash.

因此,只需返回对象本身,就可以使 json 数据对客户端有效。

[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "/CheckHMAC/{hMac}")]
public Result CheckId(string Id)
{
Result result = new Result() { OTP = 1, IsSuccessful = false, CustomerId = "" };
return result;
}

关于json - 将对象序列化为 json 产生双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41255892/

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