我收到错误:无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型 'jsonTest.Posts',因为该类型需要 JSON 对象(例如 {"name":"value"})才能正确反序列化。我现在一定是错过了什么……?这是我的小型控制台应用程序(此时我对 Json 字符串进行了硬编码):using System;using Newtonsoft.Json; namespace jsonTest { class Program { static void Main(string[] args) { var responseValue = @"[{""providerName"":""Aktoo"",""providerIcon"":""logo1.png""},{""providerName"":""Aktii"",""providerIcon"":""logo2.png""}]"; Posts posts = JsonConvert.DeserializeObject<Posts>(responseValue); Console.WriteLine("test" + posts.ProviderName); } } }这是我的帖子类:using System;using System.Collections.Generic;using System.Text;using Newtonsoft.Json;namespace jsonTest{ class Posts { [JsonProperty("providerName")] public string ProviderName { get; set; } [JsonProperty("providerIcon")] public string providerIcon { get; set; } }}最终版本将通过所有不同的供应商循环。
1 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
你的 json 不是一个单一的对象。它是一个对象数组,所以尝试反序列化List<Post>
List<Posts> posts = JsonConvert.DeserializeObject<List<Posts>>(responseValue);
posts然后你可以通过使用来迭代它foreach
foreach (var item in posts)
{
Console.WriteLine("providerName: " + item.ProviderName);
Console.WriteLine("providerIcon: " + item.providerIcon);
Console.WriteLine();
}
输出:
- 1 回答
- 0 关注
- 110 浏览
添加回答
举报
0/150
提交
取消