无法反序列化单个子数组中的当前JSON数组

时间:2016-12-02 13:51:01

标签: c# json json.net

我的json就像

@media (max-width: 768px) {
    .navbar-header {
        float: none;
    }
    .navbar-left,.navbar-right {
        float: none !important;
    }
    .navbar-form {
        width: auto;
        position: relative;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .navbar-fixed-top {
        top: 0;
        border-width: 0 0 1px;
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-nav {
        float: none!important;
        margin: 0px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    .collapse.in{
        display:block !important;
    }
}

我试图将{ "code":"1", "message":"The request succeeded", "contacts": { "contactId":"58330efb45cedb9087e281e6", "email":"", "firstName":"", "lastName":"", "number":"4145075733" } } DeserializeObject

一起使用
Generic.List

这可以很好地处理联系人数组中的两个或多个数据,但它不能用于单个数据。

错误:

  

无法将当前JSON对象(例如{“name”:“value”})反序列化为   类型   'System.Collections.Generic.List'1 [smsApplication.Controller s.ContactList]'   因为该类型需要JSON数组才能正确反序列化。至   修复此错误要么将JSON更改为JSON数组,要么更改   反序列化类型,以便它是一个普通的.NET类型(例如,不是   原始类型,如整数,而不是像数组或类似的集合类型   可以从JSON对象反序列化的public class AllContacts { public string code { get; set; } public string message { get; set; } public List<ContactList> contacts { get; set; } } public class ContactList { public string contactId { get; set; } public string email { get; set; } public string firstName { get; set; } public string lastName { get; set; } public string number { get; set; } } )。   JsonObjectAttribute也可以添加到类型中以强制它   从JSON对象反序列化。

1 个答案:

答案 0 :(得分:1)

多数民众赞成因为{ "code":"1", "message":"The request succeeded", "contacts":[ { "contactId":"58330efb45cedb9087e281e6", "email":"", "firstName":"", "lastName":"", "number":"4145075733" }] } 是一个json对象而不是一个json数组

更新json以匹配定义的类

public class AllContacts
{
    public string code { get; set; }
    public string message { get; set; }
    public ContactList contacts { get; set; }
}

public class ContactList
{
    public string contactId { get; set; }
    public string email { get; set; }
    public string firstName { get; set; }
    public string lastName { get; set; }
    public string number { get; set; }
}

或更新类以匹配json

(function($) {

  $.fn.test = function(x) {

    return this.each(function() {

      var wrapper = $(this);

      var xx = $.extend({
        items_Page: 4,
      }, x || {});

      function initialized() {
        var itemCount;
        itemCount = wrapper.children().length;
        console.log(itemCount);
      }
      initialized();

    });
  }

}(jQuery));

$(".test").test()

错误消息说明了您的操作。