C# Json.Net - 如何反序列化复杂对象

标签 c# json serialization json.net

我有一个 JSON 编码的字符串。它看起来像这样:

{"jsonrpc":"2.0","method":"test","params":["80851851709e01bc9453cced585a7bca","this"],"id":3}

出于某种原因,我无法使用 C# 访问“params”。该对象返回 null。这是我正在使用的代码:

public class Access : System.Web.Services.WebService
{

    [WebMethod]
    public string EntryMethod(string json)
    {
        Requests d = JsonConvert.DeserializeObject<Requests>(json);
        return "done";
    }
}
public class Requests
{
    public string jsonrpc { get; set; }
    public string method { get; set; }
    public List<string> param { get; set; }
    public string id { get; set; }
}

有什么想法吗?

最佳答案

由于打字错误,应该是:

ParamS // Add one more S

所以,你的类(class)应该是:

public class Requests
{
    public string jsonrpc { get; set; }
    public string method { get; set; }
    public List<string> @params { get; set; }
    public string id { get; set; }
}

关于C# Json.Net - 如何反序列化复杂对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12711407/

相关文章:

java - 如何序列化 Jackson Joda 日期格式?

C# 代码优化导致 Interlocked.Exchange() 出现问题

json - 使用 jq select 过滤 json 不起作用

带有 Windows 窗体应用程序的 C# 套接字服务器

javascript - 使用 Lodash 比较、匹配和过滤两个对象

.net - 未采用 Google Site Verification API .NET 重定向 uri

javascript - 使用C#将函数序列化为json中的参数

java - 反序列化时出现异常

c# - POST web api 上的内部错误 500

c# - ObjectStateManager 没有定义问题