C# Can';t使用空值序列化json [JsonObject(MemberSerialization.OptIn)] 公共类名称项 { [JsonProperty] 公共字符串_name{get;set;} [JsonProperty] 公共int_id{get;set;} 公共名称ID项(){} 公共名称id项(字符串名称,整数id) { _名称=名称; _id=id; } } [JsonObject(MemberSerialization.OptIn)] 公共类链接列表用户组 { 公共列表NewItems{get;set;} 公共列表RemovedItems{get;set;} 公共bool TrackChanges{get;set;} 公共列表项{get;set;} } [JsonObject(MemberSerialization.OptIn)] 公共类UserRequestJson { [JsonProperty(必需=必需。始终)] 公共字符串电子邮件{get;set;} [JsonProperty] 公共字符串Email2{get;set;} [JsonProperty] 公共字符串Email3{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串用户名{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串密码{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串密码问题{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串密码应答{get;set;} [JsonProperty] 公共bool IsAdmin{get;set;} [JsonProperty] 公共bool MustResetPassword{get;set;} [JsonProperty] 公共字节源{get{return Source;}set{Source=value;}} 专用字节源=0; [JsonProperty] 公共字符串CellPhoneNo{get;set;} [JsonProperty] 公共字符串CellPhoneNo2{get;set;} [JsonProperty] 公共字符串CellPhoneNo3{get;set;} [JsonProperty] 公共字符串PagerNo{get;set;} [JsonProperty] 公共字符串PagerNo2{get;set;} [JsonProperty] 公共bool NotifyBySMS{get;set;} [JsonProperty] 公共bool NotifyByEmail{get;set;} [JsonProperty] 公共bool NotifyByPopup{get;set;} [JsonProperty] 公共bool NotifyByPush{get;set;} [JsonProperty] 公共bool AllowPersonalDashboard{get;set;} [JsonProperty] public bool AllowUnlimitedDashboardItems{get;set;} [JsonProperty] 公共bool CanHaveUnlimitedAlerts{get;set;} [JsonProperty] 公共布尔StayLoggedIn{get;set;} [JsonProperty] 公共bool IsActive{get;set;} [JsonProperty] public int AccountTypeID{get{return AccountTypeID;}set{AccountTypeID=value;}} 私有int accountTypeID=1; [JsonConverter(typeof(GERLinkListOfUserGroup))] 公共GERLinkListOfUserGroup组{get;set;} [JsonProperty] public int CreatedBy{get;set;} [JsonProperty] 公共字符串CreatedOn{get{return CreatedOn;}set{CreatedOn=value;}} 私有字符串createdOn=“0001-01-01T00:00:00”; [JsonProperty] 公共int被{get;set;}修改 [JsonProperty] 公共字符串ModifiedOn{get{return ModifiedOn;}set{ModifiedOn=value;}} 私有字符串modifiedOn=“0001-01-01T00:00:00”; [JsonProperty] 公共int ID{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串名称{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串ConfirmPassword{get;set;} [JsonProperty] public int CellProviderID{get;set;} [JsonProperty] 公共int CellProviderID2{get;set;} [JsonProperty] 公共int CellProviderID3{get;set;} [JsonProperty] public int PagerProviderID{get;set;} [JsonProperty] public int pagerProviderD2{get;set;} }

C# Can';t使用空值序列化json [JsonObject(MemberSerialization.OptIn)] 公共类名称项 { [JsonProperty] 公共字符串_name{get;set;} [JsonProperty] 公共int_id{get;set;} 公共名称ID项(){} 公共名称id项(字符串名称,整数id) { _名称=名称; _id=id; } } [JsonObject(MemberSerialization.OptIn)] 公共类链接列表用户组 { 公共列表NewItems{get;set;} 公共列表RemovedItems{get;set;} 公共bool TrackChanges{get;set;} 公共列表项{get;set;} } [JsonObject(MemberSerialization.OptIn)] 公共类UserRequestJson { [JsonProperty(必需=必需。始终)] 公共字符串电子邮件{get;set;} [JsonProperty] 公共字符串Email2{get;set;} [JsonProperty] 公共字符串Email3{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串用户名{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串密码{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串密码问题{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串密码应答{get;set;} [JsonProperty] 公共bool IsAdmin{get;set;} [JsonProperty] 公共bool MustResetPassword{get;set;} [JsonProperty] 公共字节源{get{return Source;}set{Source=value;}} 专用字节源=0; [JsonProperty] 公共字符串CellPhoneNo{get;set;} [JsonProperty] 公共字符串CellPhoneNo2{get;set;} [JsonProperty] 公共字符串CellPhoneNo3{get;set;} [JsonProperty] 公共字符串PagerNo{get;set;} [JsonProperty] 公共字符串PagerNo2{get;set;} [JsonProperty] 公共bool NotifyBySMS{get;set;} [JsonProperty] 公共bool NotifyByEmail{get;set;} [JsonProperty] 公共bool NotifyByPopup{get;set;} [JsonProperty] 公共bool NotifyByPush{get;set;} [JsonProperty] 公共bool AllowPersonalDashboard{get;set;} [JsonProperty] public bool AllowUnlimitedDashboardItems{get;set;} [JsonProperty] 公共bool CanHaveUnlimitedAlerts{get;set;} [JsonProperty] 公共布尔StayLoggedIn{get;set;} [JsonProperty] 公共bool IsActive{get;set;} [JsonProperty] public int AccountTypeID{get{return AccountTypeID;}set{AccountTypeID=value;}} 私有int accountTypeID=1; [JsonConverter(typeof(GERLinkListOfUserGroup))] 公共GERLinkListOfUserGroup组{get;set;} [JsonProperty] public int CreatedBy{get;set;} [JsonProperty] 公共字符串CreatedOn{get{return CreatedOn;}set{CreatedOn=value;}} 私有字符串createdOn=“0001-01-01T00:00:00”; [JsonProperty] 公共int被{get;set;}修改 [JsonProperty] 公共字符串ModifiedOn{get{return ModifiedOn;}set{ModifiedOn=value;}} 私有字符串modifiedOn=“0001-01-01T00:00:00”; [JsonProperty] 公共int ID{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串名称{get;set;} [JsonProperty(必需=必需。始终)] 公共字符串ConfirmPassword{get;set;} [JsonProperty] public int CellProviderID{get;set;} [JsonProperty] 公共int CellProviderID2{get;set;} [JsonProperty] 公共int CellProviderID3{get;set;} [JsonProperty] public int PagerProviderID{get;set;} [JsonProperty] public int pagerProviderD2{get;set;} },c#,serialization,multidimensional-array,arraylist,json.net,C#,Serialization,Multidimensional Array,Arraylist,Json.net,我试图序列化json,但得到了一个错误 类型的例外 “Newtonsoft.Json.JsonException”出现在Newtonsoft.Json.dll中,但未在用户代码中处理 其他信息:创建“LinkListOfUserGroup”时出错 我应该怎么做才能得到[]表示空列表,“”表示空字符串和整数 [JsonObject(MemberSerialization.OptIn)] public class NameIDItem { [JsonProperty] public

我试图序列化json,但得到了一个错误

类型的例外 “Newtonsoft.Json.JsonException”出现在Newtonsoft.Json.dll中,但未在用户代码中处理

其他信息:创建“LinkListOfUserGroup”时出错

我应该怎么做才能得到[]表示空列表,“”表示空字符串和整数

 [JsonObject(MemberSerialization.OptIn)]
public class NameIDItem
{
    [JsonProperty]
    public string _name{ get; set; }
    [JsonProperty]
    public int _id { get; set; }

    public NameIDItem(){}

    public NameIDItem(string name, int id)
    {
        _name = name;
        _id = id;
    }
}



[JsonObject(MemberSerialization.OptIn)]
public class LinkListOfUserGroup
{
    public List<NameIDItem> NewItems { get; set; }
    public List<NameIDItem> RemovedItems { get; set; }
    public bool TrackChanges { get; set; }
    public List<NameIDItem> Items { get; set; }
}

[JsonObject(MemberSerialization.OptIn)]
public class UserRequestJson
{
    [JsonProperty(Required = Required.Always)]
    public string Email { get; set; }
    [JsonProperty]
    public string Email2 { get; set; } 
    [JsonProperty]
    public string Email3 { get; set; }
    [JsonProperty(Required = Required.Always)]
    public string UserName { get; set; }
    [JsonProperty(Required = Required.Always)]
    public string Password { get; set; }
    [JsonProperty(Required = Required.Always)]
    public string PasswordQuestion { get; set; }
    [JsonProperty(Required = Required.Always)]
    public string PasswordAnswer { get; set; }
    [JsonProperty]
    public bool IsAdmin { get; set; }
    [JsonProperty]
    public bool MustResetPassword { get; set; }

    [JsonProperty]
    public byte Source {get {return source;} set { source = value; }}
    private byte source = 0;
    [JsonProperty]
    public string CellPhoneNo { get; set; }
    [JsonProperty]
    public string CellPhoneNo2 { get; set; }
    [JsonProperty]
    public string CellPhoneNo3 { get; set; }
    [JsonProperty]
    public string PagerNo { get; set; }
    [JsonProperty]
    public string PagerNo2 { get; set; }
    [JsonProperty]
    public bool NotifyBySMS { get; set; }
    [JsonProperty]
    public bool NotifyByEmail { get; set; }
    [JsonProperty]
    public bool NotifyByPopup { get; set; }
    [JsonProperty]
    public bool NotifyByPush { get; set; }
    [JsonProperty]
    public bool AllowPersonalDashboard { get; set; }
    [JsonProperty]
    public bool AllowUnlimitedDashboardItems { get; set; }
    [JsonProperty]
    public bool CanHaveUnlimitedAlerts { get; set; }
    [JsonProperty]
    public bool StayLoggedIn { get; set; }
    [JsonProperty]
    public bool IsActive { get; set; }
    [JsonProperty]
    public int AccountTypeID {get {return accountTypeID;} set { accountTypeID = value; }}
    private int accountTypeID = 1;
    [JsonConverter(typeof(GERLinkListOfUserGroup))]
    public GERLinkListOfUserGroup Groups { get; set; }
    [JsonProperty]
    public int CreatedBy { get; set; }
    [JsonProperty]
    public string CreatedOn  {get {return createdOn;} set { createdOn = value; }}
    private string createdOn = "0001-01-01T00:00:00";
    [JsonProperty]
    public int ModifiedBy { get; set; }
    [JsonProperty]
    public string ModifiedOn {get {return modifiedOn;} set { modifiedOn = value; }}
    private string modifiedOn = "0001-01-01T00:00:00";
    [JsonProperty]
    public int ID { get; set; }
    [JsonProperty(Required = Required.Always)]
    public string Name { get; set; }
    [JsonProperty(Required = Required.Always)]
    public string ConfirmPassword { get; set; }
    [JsonProperty]
    public int CellProviderID { get; set; }
    [JsonProperty]
    public int CellProviderID2 { get; set; }
    [JsonProperty]
    public int CellProviderID3 { get; set; }
    [JsonProperty]
    public int PagerProviderID { get; set; }
    [JsonProperty]
    public int PagerProviderID2 { get; set; }
}
UserRequestJson user=newuserrequestjson()
{
电子邮件=_Name+“@Email.com”,
用户名=\u名称,
密码=_Name+“!”,
PasswordQuestion=\u Name,
PasswordAnswer=\u Name,
Groups=新的GERLinkListOfUserGroup()
{
NewItems=new List(){new nameitem(“HCS用户”,groupID)},
RemovedItems=新列表(),
TrackChanges=false,
Items=new List(){new nameitem(“HCS用户”,groupID)}
},
Name=_Name,
确认密码=_Name+“!”
};
string json=JsonConvert.SerializeObject(用户);
Console.WriteLine(json);
{“电子邮件”:asdasd2@mail.com“,”Email2:“,”Email3:“,”用户名:“!asfsfsd”,“密码:“!asdasd!asdasd”,“密码问题:”!asdasd”,“密码回答:“!asdasd”,“IsAdmin”:false,“源”:0,“MustResetPassword”:false,“手机号码”:“,”手机号码2:“,”手机号码:“,”PagerNo:“,”PagerNo2:“,”notifyByMS:”false,“NotifyByEmail”:false,“NotifyByPopup”:false,“NotifyByPush”:false,“AllowPersonalDashboard”:false,“AllowUnlimitedDalerts”:false,“StayLoggedIn”:true,“IsActive”:false,“AccountTypeID”:1,“Groups”:{“NewItems”:[],“RemovedItems”:[],“TrackChanges”:false,“Items”:[],“CreatedBy”:0,“CreatedOn”:“0001-01-01T00:00:00”,“ModifiedBy”:0,“ModifiedDon”:”:“0001-01-01T00:00:00”,“ID”:0,“名称”:“!asdasd”,“确认密码”:“!asdasd!asdasd”,“CellProviderID”:“,”CellProviderID:“,”CellProviderID:“,”PagerProviderID:“,”PagerProviderID:“,”PagerProviderID:“,”

您在
LinkListOfUserGroup
中的任何属性上都没有
[JsonProperty]
属性,这就是它失败的原因

        UserRequestJson user = new UserRequestJson()
        {
            Email = _Name + "@email.com",
            UserName = _Name,
            Password = _Name + "!",
            PasswordQuestion= _Name,
            PasswordAnswer= _Name,
            Groups = new GERLinkListOfUserGroup()
            {
                NewItems = new List<NameIDItem>() { new NameIDItem("HCS Users", groupID) },
                RemovedItems = new List<NameIDItem>(),
                TrackChanges = false,
                Items = new List<NameIDItem>() { new NameIDItem("HCS Users", groupID) }
            },
            Name=_Name,
            ConfirmPassword= _Name + "!"
        };
        string json= JsonConvert.SerializeObject(user);
        Console.WriteLine(json);



{"Email":"asdasd2@mail.com","Email2":"","Email3":"","UserName":"!asfsfsd","Password":"!asdasd!asdasd","PasswordQuestion":"!asdasd","PasswordAnswer":"!asdasd","IsAdmin":false,"Source":0,"MustResetPassword":false,"CellPhoneNo":"","CellPhoneNo2":"","CellPhoneNo3":"","PagerNo":"","PagerNo2":"","NotifyBySMS":false,"NotifyByEmail":false,"NotifyByPopup":false,"NotifyByPush":false,"AllowPersonalDashboard":false,"AllowUnlimitedDashboardItems":false,"CanHaveUnlimitedAlerts":false,"StayLoggedIn":true,"IsActive":false,"AccountTypeID":1,"Groups":{"NewItems":[],"RemovedItems":[],"TrackChanges":false,"Items":[]},"CreatedBy":0,"CreatedOn":"0001-01-01T00:00:00","ModifiedBy":0,"ModifiedOn":"0001-01-01T00:00:00","ID":0,"Name":"!asdasd","ConfirmPassword":"!asdasd!asdasd","CellProviderID":"","CellProviderID2":"","CellProviderID3":"","PagerProviderID":"","PagerProviderID2":""}
[JsonObject(MemberSerialization.OptIn)]
公共类链接列表用户组
{
[JsonProperty]
公共列表NewItems{get;set;}
[JsonProperty]
公共列表RemovedItems{get;set;}
[JsonProperty]
公共bool TrackChanges{get;set;}
[JsonProperty]
公开上市
[JsonObject(MemberSerialization.OptIn)]
public class LinkListOfUserGroup
{
    [JsonProperty]
    public List<NameIDItem> NewItems { get; set; }
    [JsonProperty]
    public List<NameIDItem> RemovedItems { get; set; }
    [JsonProperty]
    public bool TrackChanges { get; set; }
    [JsonProperty]
    public List<NameIDItem> Items { get; set; }
}