Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 域工具json反序列化?_C#_Json - Fatal编程技术网

C# 域工具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

我正在使用asp.NETMVC4和json.net

我有一个json结构,比如

如何将其反序列化到我自己的类中?这看起来有点复杂的结构让我意识到如何构建我的类

到目前为止,我已经尝试过:

 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);