gpt4 book ai didi

c# - 反序列化对对象的 Json 响应

转载 作者:太空狗 更新时间:2023-10-30 00:59:52 26 4
gpt4 key购买 nike

我有下面的 json 响应,我正在尝试将其反序列化为 c# 对象,但我总是遇到错误。JSON 响应:

"\"{\\\"method\\\":\\\"https://hereisalink.com\\\",\\\"http_method\\\":\\\"POST\\\",\\\"http_code\\\":900,\\\"error_code\\\":\\\"OK\\\",\\\"error_msg\\\":\\\"\\\",\\\"params\\\":[],\\\"data\\\":{\\\"summaryUrl\\\":\\\"https://sureyurl.com/?firstparam=123&secondparam=myemail%40gmail%2Ecom\\\",\\\"my_id\\\":1234,\\\"myemail\\\":\\\"theemail@gmail.com\\\",\\\"result\\\":\\\"yes\\\"}}\""

我的 C# 对象:

public class SummaryOBJ
{

public string method { get; set; }
public string http_method { get; set; }
public string POST { get; set; }
public string http_code { get; set; }
public string error_code { get; set; }
public string error_msg { get; set; }
public string[] @params { get; set; }
public Thesummary data { get; set; }

}
public class Thesummary
{
public string summaryUrl { get; set; }
public int my_id { get; set; }
public string myemail { get; set; }
public string result { get; set; }

}

我要反序列化的 C# 代码:

//var myresp is the above json response i mention
var myresult = JsonConvert.DeserializeObject<SummaryOBJ>(myresp);

我得到的错误:

Error converting value "{"method":"https://hereisalink.com","http_method":"POST","http_code":900,"error_code":"OK","error_msg":"","params":[],"data":{"summaryUrl":"https://sureyurl.com/?firstparam=123&secondparam=myemail%40gmail%2Ecom","my_id":1234,"myemail":"theemail@gmail.com","result":"yes"}}" to type 'SummaryOBJ'. Path '', line 1, position 383.

最佳答案

此处从服务器返回的响应是字符串的 JSON 表示形式,它本身就是您期望的对象的 JSON 表示形式。服务器首先将对象编码为 JSON,然后将序列化的 JSON 字符串再次编码为 JSON。

您已经在评论中确认解决此问题的方法是修复服务器以对数据进行编码仅一次,因此为了完整起见,我将此答案写在此处。

关于c# - 反序列化对对象的 Json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52533855/

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