C# 在C语言中反序列化JSON对象#
我正在使用Web服务并按以下方式反序列化对象:C# 在C语言中反序列化JSON对象#,c#,json,web-services,deserialization,C#,Json,Web Services,Deserialization,我正在使用Web服务并按以下方式反序列化对象: var content = JsonConvert.DeserializeObject<Member>(result); 以下是要反序列化的类: public class Member { public List<Create> Create { get; set; } public string DATE { get; set; } } public class Create { public
var content = JsonConvert.DeserializeObject<Member>(result);
以下是要反序列化的类:
public class Member
{
public List<Create> Create { get; set; }
public string DATE { get; set; }
}
public class Create
{
public bool isValidMemberPassword { get; set; }
public int member_eid { get; set; }
}
公共类成员
{
公共列表创建{get;set;}
公共字符串日期{get;set;}
}
公共类创建
{
public bool isValidMemberPassword{get;set;}
公共int成员{get;set;}
}
问题是我的
Create
对象没有使用收到的值创建。所有值均为null
。正在正确创建成员
对象。我是C#的noob。请使用下面提到的课程
public class CREATE
{
public bool isValidMemberPassword { get; set; }
public int member_eid { get; set; }
}
public class RootObject
{
public List<CREATE> CREATE { get; set; }
public string DATE { get; set; }
}
创建公共类
{
public bool isValidMemberPassword{get;set;}
公共int成员{get;set;}
}
公共类根对象
{
公共列表创建{get;set;}
公共字符串日期{get;set;}
}
首先,对于JSON转换,您的属性必须与JSON代码的属性相等。如果您在转换时遇到困难,可以使用
我发现JSON代码的属性没有采用正确的格式规则(在camelcase中为属性名称)。要纠正这一点,可以使用属性JsonProperty
和第一个参数JSON属性名。见下面的代码:
公共类成员
{
[JsonProperty(“已创建”)]
已创建公共列表{get;set;}
[JsonProperty(“日期”)]
公共字符串日期{get;set;}
}
公共类创建
{
[JsonProperty(“isValidMemberPassword”)]
public bool IsValidMemberPassword{get;set;}
[JsonProperty(“成员”)
public int MemberEid{get;set;}
}
strange,用于使用publicList CREATE{get;set;}
代替public List CREATE{get;set;}
。你能告诉我它是否有效吗?@H.Pauwelyn worked;)一般来说,使用类生成器也是一个不错的主意,就像Works for me一样,请参见
public class CREATE
{
public bool isValidMemberPassword { get; set; }
public int member_eid { get; set; }
}
public class RootObject
{
public List<CREATE> CREATE { get; set; }
public string DATE { get; set; }
}