C# 域工具json反序列化?
我正在使用asp.NETMVC4和json.net 我有一个json结构,比如 如何将其反序列化到我自己的类中?这看起来有点复杂的结构让我意识到如何构建我的类 到目前为止,我已经尝试过:C# 域工具json反序列化?,c#,json,C#,Json,我正在使用asp.NETMVC4和json.net 我有一个json结构,比如 如何将其反序列化到我自己的类中?这看起来有点复杂的结构让我意识到如何构建我的类 到目前为止,我已经尝试过: var json = "{\"response\":{\"registrant\":\"DomainTools, LLC\",\"registration\":{\"created\":\"1998-08-02\",\"expires\":\"2014-08-01\",\"updated\":\"2010-0
var json = "{\"response\":{\"registrant\":\"DomainTools, LLC\",\"registration\":{\"created\":\"1998-08-02\",\"expires\":\"2014-08-01\",\"updated\":\"2010-08-31\",\"registrar\":\"CHEAP-REGISTRAR.COM\",\"statuses\":[\"ok\"]},\"name_servers\":[\"NS1.P09.DYNECT.NET\",\"NS2.P09.DYNECT.NET\",\"NS3.P09.DYNECT.NET\",\"NS4.P09.DYNECT.NET\"],\"whois\":{\"date\":\"2013-05-12\",\"record\":\"Domain name: domaintools.com\\n\\nRegistrant Contact:\\n DomainTools, LLC\\n Domain Administrator (memberservices@domaintools.com)\\n +1.2068389035\\n Fax: +1.2068389056\\n 2211 5th Avenue\\n Suite 201\\n Seattle, WA 98121\\n US\\n\\nAdministrative Contact:\\n DomainTools, LLC\\n Domain Administrator (memberservices@domaintools.com)\\n +1.2068389035\\n Fax: +1.2068389056\\n 2211 5th Avenue\\n Suite 201\\n Seattle, WA 98121\\n US\\n\\nTechnical Contact:\\n DomainTools, LLC\\n Domain Administrator (memberservices@domaintools.com)\\n +1.2068389035\\n Fax: +1.2068389056\\n 2211 5th Avenue\\n Suite 201\\n Seattle, WA 98121\\n US\\n\\n Status: Active\\n Creation Date: 13-Jul-2002\\n Expiration Date: 13-Jul-2016\\n Name Server: NS1.P09.DYNECT.NET\\n Name Server: NS2.P09.DYNECT.NET\\n Name Server: NS3.P09.DYNECT.NET\\n Name Server: NS4.P09.DYNECT.NET\\n\"}}}";
public class Response
{
public string registrant { get; set; }
public Registration registration { get; set; }
public List<string> name_servers { get; set; }
public WhoIs whois { get; set; }
}
public class Registration
{
public DateTime created { get; set; }
public DateTime expires { get; set; }
public DateTime updated { get; set; }
public string registrar { get; set; }
public List<string> statuses { get; set; }
}
public class WhoIs
{
public DateTime date { get; set; }
public string record { get; set; }
}
var response = JsonConvert.DeserializeObject<Response>(json); >> null
目前,注册注册“:,,,注册注册“:,,,,,注册注册注册“:,,,,,注册注册注册注册“,,,,,,,,,“创建的”创造了:1998-08-02-08-08-02\,,“到期”截止日期:2014-2008-08-08-01\,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,\“],\“谁是谁\“:{”日期\“:\”2013-05-12 \“,”记录\“:\”域名:domaintools.com\\n\\n注册联系人:\\n domaintools,LLC\\n域管理员(memberservices@domaintools.com)\\n+1.2068389035\\n传真:+1.2068389056\\n 2211第五大道\\n华盛顿州西雅图201室\\n美国\\n\\n行政联系人:\\n域名工具有限责任公司\\n域名管理员(memberservices@domaintools.com)\\n+1.2068389035\\n传真:+1.2068389056\\n 2211第五大道\\n华盛顿州西雅图201室\\n美国\\n\\n技术联系人:\\n域名工具有限责任公司\\n域名管理员(memberservices@domaintools.com)\\n+1.2068389035\\n传真:+1.2068389056\\n 2211第五大道\\n美国西雅图201套房\\n美国\\n\\n状态:活动\\n创建日期:2002年7月13日\\n过期日期:2016年7月13日\\n名称服务器:NS1.P09.DYNECT.NET\\n名称服务器:NS2.P09.DYNECT.NET\\n名称服务器:NS3.P09.DYNECT.NET\\n名称服务器:NS4.P09.DYNECT.NET\\n\“}}}}”;
公众课堂反应
{
公共字符串注册者{get;set;}
公共注册{get;set;}
公共列表名称\u服务器{get;set;}
公共WhoIs WhoIs{get;set;}
}
公开课注册
{
已创建公共日期时间{get;set;}
公共日期时间过期{get;set;}
公共日期时间已更新{get;set;}
公共字符串注册器{get;set;}
公共列表状态{get;set;}
}
公众阶级
{
公共日期时间日期{get;set;}
公共字符串记录{get;set;}
}
var response=JsonConvert.DeserializeObject(json);>>null
从站点开始寻找合适的结构总是很好的,例如它给出的示例:
public class Registration
{
public string created { get; set; }
public string expires { get; set; }
public string updated { get; set; }
public string registrar { get; set; }
public List<string> statuses { get; set; }
}
public class Whois
{
public string date { get; set; }
public string record { get; set; }
}
public class Response
{
public string registrant { get; set; }
public Registration registration { get; set; }
public List<string> name_servers { get; set; }
public Whois whois { get; set; }
}
public class RootObject
{
public Response response { get; set; }
}
哇,回答得太好了,我不知道有这么一个工具。非常感谢
var response = JsonConvert.DeserializeObject<RootObject>(json);