使用Json数据填充列表并从中获取对象

问题描述:

我有一个php webservice,它从数据库获取数据并将其作为json数据返回。使用Json数据填充列表并从中获取对象

JSON数据

{"faqs": 
    [ 
     {"faq":{"id":"123"}}, 
     {"faq":{"id":"124"}} 
    ] 
} 

对象类

public class FaqList 
{ 
    public List<Faq> faqs { get; set; } 
} 
public class Faq 
{ 
    public string id { get; set; } 
} 

测试类

var client = new HttpClient(); 
HttpResponseMessage response = await client.GetAsync(new Uri("http://www.mydomain.com/webservice/7/server.php")); 
var jsonString = await response.Content.ReadAsStringAsync(); 

FaqList list = JsonConvert.DeserializeObject<FaqList>(jsonString); 

list.faqs.Count() => 2 
list.faqs[0].id => NULL !! 

我填人l将对象添加到“列表”中。通过计数测试,我发现它已经填满了。但是,如果我尝试从中获取对象,则会出现空错误。

那么,我该如何正确填写我的列表,以便我可以从中获取对象呢?

http://json2csharp.com/建议了这些定义。 (多一个类Faq2

public class Faq2 
{ 
    public string id { get; set; } 
} 

public class Faq 
{ 
    public Faq2 faq { get; set; } 
} 

public class RootObject 
{ 
    public List<Faq> faqs { get; set; } 
} 
+1

谢谢你这个有用的网站。我只编辑了我的_object clasess_。其余的保持原样。然后我可以得到像'list.faqs [0] .faq.id'这样的对象。 – 2013-05-03 14:32:03