【问题标题】:Filling list with Json data and getting the objects from it用 Json 数据填充列表并从中获取对象
【发布时间】:2013-05-03 13:06:43
【问题描述】:

我有一个 php webservice,它从数据库中获取数据并将其作为 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 !!

我将所有对象填充到“列表”中。通过计数测试,我看到它已满。但是,如果我尝试从中获取对象,则会收到 null 错误。

那么,我怎样才能正确填写我的列表,以便从中获取对象?

【问题讨论】:

    标签: c# json parsing json.net deserialization


    【解决方案1】:

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

    【讨论】:

    • 感谢您提供这个有用的网站。我只编辑了我的对象类。其余的保持原样。然后我可以得到像list.faqs[0].faq.id 这样的对象。
    猜你喜欢
    • 2017-01-01
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 2020-06-10
    相关资源
    最近更新 更多