0

我正在开发 wp 应用程序。我想我的 json 数据类型有问题,但我不确定。首先我想分享我的 json 数据示例:

json数据

[{"Id":2,"PoemName":"Necip Fazıl Kısakürek","PoemImage":null,"Biography":null},{"Id":1,"PoemName":"Orhan Veli Kanık","PoemImage":"deneme","Biography":"asda"}]

加载事件

var webClient = new WebClient();
        webClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
        webClient.DownloadStringAsync(new Uri("http://denememvc-001-site1.smarterasp.net/api/poem"));

其他功能

void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        var results = JsonConvert.DeserializeObject<ToList>(e.Result);
        MessageBox.Show(results.ToString());
    }

    public class Poem
    {
        public int Id { get; set; }
        public string PoemName { get; set; }
        public string PoemImage { get; set; }
        public string Biography { get; set; }
    }

    public class ToList
    {
        public List<Poem> poems { get; set; }
    }

之后它给出了这个错误:“附加信息:无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型 'SiirYuvasi.TrialWebSide+ToList',因为该类型需要 JSON 对象(例如 {"name": "value"}) 正确反序列化。

正如我所说,我认为我的 json 数据类型存在问题,但我不知道如何更改这种类型。

我希望我能解释一下。感谢所有回复。

4

2 回答 2

0

Try to use Array instead of List<>

public class ToList
{
    public Poem[] poems { get; set; }
}
于 2014-02-13T19:25:22.300 回答
0

试试这个。

public class Poem
{
//getters
//setters
}

public class ToList
{
    public Poem poem { get; set; }
}

var result = JsonConvert.DeserializeObject<List<ToList>>(e.Result);
于 2014-02-14T05:03:15.000 回答