JSON 反序列化错误:字典中不存在给定的键

hlh*_*406 0 .net c# json deserialization visual-studio-2015

我正在尝试将 JSON 输出到 Web 表单中的下拉列表。我已经做到了这一点:

WebClient client = new WebClient();
string getString = client.DownloadString("http://myfeed.com/app_feed.php");

JavaScriptSerializer serializer = new JavaScriptSerializer();
dynamic item = serializer.Deserialize<object>(getString);
string name = item["title"];

return name;
Run Code Online (Sandbox Code Playgroud)

这使提要恢复正常,但在线路上遇到错误:

string name = item["title"];
Run Code Online (Sandbox Code Playgroud)

带回此错误:

附加信息:字典中不存在给定的键。

这是我的提要示例:

{"apps":[{"title":"title1","description":"description1"},    
{"title":"title2","description":"description2"},
{"title":"title3","description":"description3"}
Run Code Online (Sandbox Code Playgroud)

所以我以为我在引用第一个标题,我打算遍历它们:

string name = item["title"];
Run Code Online (Sandbox Code Playgroud)

但显然不是!我查看了 Stackoverflow,但找不到可以应用于我自己的代码的答案。

Mos*_*fiz 5

title在另一个键内apps,它是一个数组,所以你应该迭代它,我告诉你只需使用索引 0 选择第一个

string name = item["apps"][0]["title"];
Run Code Online (Sandbox Code Playgroud)

你可以通过 foreach 访问所有

foreach (var ap in item["apps"])
{
    Console.WriteLine(ap["title"]);
}
Run Code Online (Sandbox Code Playgroud)