Windows runtime 将Json反序列化到对象列表

Windows runtime 将Json反序列化到对象列表,windows-runtime,json.net,Windows Runtime,Json.net,我希望将以下Json反序列化到TwitterTile列表中(见下文) JSON: 类别定义: public class TwitterTile { public string hashtag { get; set; } public bool isPositive { get; set; } public string dateSearched { get; set; } } public class RootObject { public List<Tw

我希望将以下Json反序列化到TwitterTile列表中(见下文)

JSON:

类别定义:

public class TwitterTile
{
    public string hashtag { get; set; }
    public bool isPositive { get; set; }
    public string dateSearched { get; set; }
}

public class RootObject
{
    public List<TwitterTile> twitterTile { get; set; }
}
公共类TwitterTile
{
公共字符串哈希标记{get;set;}
公共布尔正{get;set;}
公共字符串日期搜索{get;set;}
}
公共类根对象
{
公共列表twitterTile{get;set;}
}
问题是我似乎无法成功地反序列化这个json。我尝试了一些方法(见下文),但毫无结果。所有这些方法最终都返回空对象。我有点不明白为什么会这样。有人有什么想法吗

var des = (RootObject)Newtonsoft.Json.JsonConvert.DeserializeObject(data, typeof(RootObject));
RootObject topics = JsonConvert.DeserializeObject<RootObject>(json);
var des=(RootObject)Newtonsoft.Json.JsonConvert.DeserializeObject(数据,typeof(RootObject));
rootobjecttopics=JsonConvert.DeserializeObject(json);

我觉得你的代码不错。我运行了它,并使用Json.NETV5.4.11对它进行了反序列化。下面是我使用的确切程序。我认为问题可能不在于反序列化,但无论您首先使用什么方法来检索JSON都不起作用。您是否验证了返回的是有效的JSON?如果是这样的话,那么在您尝试反序列化它之前,您的代码中是否还有其他东西可能会将其置零?在调试器中单步执行代码时会发生什么

class Program
{
    static void Main(string[] args)
    {
        string json =
        @"{ 
            ""twitterTile"": 
            [ 
                { 
                    ""hashtag"": ""#genoa"", 
                    ""isPositive"": true, 
                    ""dateSearched"": ""08/05/2013"" 
                } 
            ] 
        }";

        RootObject result = JsonConvert.DeserializeObject<RootObject>(json);

        foreach(TwitterTile tile in result.twitterTile)
        {
            Console.WriteLine("hashtag: " + tile.hashtag);
            Console.WriteLine("isPositive: " + tile.isPositive);
            Console.WriteLine("dateSearched: " + tile.dateSearched);
        }
    }

    public class TwitterTile
    {
        public string hashtag { get; set; }
        public bool isPositive { get; set; }
        public string dateSearched { get; set; }
    }

    public class RootObject
    {
        public List<TwitterTile> twitterTile { get; set; }
    }
}

这实际上工作得很好,我唯一需要更改的是我的RootObjects列表id为twitterTile,嘿,presto,它工作了。奇怪的谢谢你的帮助!
class Program
{
    static void Main(string[] args)
    {
        string json =
        @"{ 
            ""twitterTile"": 
            [ 
                { 
                    ""hashtag"": ""#genoa"", 
                    ""isPositive"": true, 
                    ""dateSearched"": ""08/05/2013"" 
                } 
            ] 
        }";

        RootObject result = JsonConvert.DeserializeObject<RootObject>(json);

        foreach(TwitterTile tile in result.twitterTile)
        {
            Console.WriteLine("hashtag: " + tile.hashtag);
            Console.WriteLine("isPositive: " + tile.isPositive);
            Console.WriteLine("dateSearched: " + tile.dateSearched);
        }
    }

    public class TwitterTile
    {
        public string hashtag { get; set; }
        public bool isPositive { get; set; }
        public string dateSearched { get; set; }
    }

    public class RootObject
    {
        public List<TwitterTile> twitterTile { get; set; }
    }
}
hashtag: #genoa
isPositive: True
dateSearched: 08/05/2013