将JSON字符串转换为.net对象

时间:2018-04-12 06:59:48

标签: c# asp.net json

   string sample = "{\"warnings\":[{\"code\":3,\"message\":\"Invalid number\"}],\"errors\":[{\"code\":4,\"message\":\"No recipients specified\"}],\"status\":\"failure\"}";

    JavaScriptSerializer js = new JavaScriptSerializer();
    List<Status> liststatus = (List<Status>)js.Deserialize(sample, typeof(List<Status>));
    string success = "";
    foreach (Status status in liststatus)
    {
         success = status.code;
    }

回复于( “成功”);

公共类状态 {

public string status { get; set; }
    public string[] warnings { get; set; }
    public string balance { get; set; }
    public string message { get; set; }
    public string recipient { get; set; }
    public string content { get; set; }

    public string num_messages { get; set; }

    public string num_parts { get; set; }

}

我试图将json对象转换为c#,但我没有。我的代码有什么问题???

2 个答案:

答案 0 :(得分:0)

您的JSON字符串不是列表,它是一个具有警告(List)属性的对象,

创建与之匹配的模型

 JavaScriptSerializer js = new JavaScriptSerializer();
    Status x = (Status)js.Deserialize(sample, typeof(Status);

答案 1 :(得分:0)

显然,status.code不是json中的任何code属性。

应为status.warnings[0].codestatus.errors[0].code