我有这个Json派生自另一个json数组:
{“location”:“LaGravière - Officiel”,“name”:“Conférencedepresse Animatou 2015etsoiréeàla Gravière“, “START_TIME!”: “2015-09-17T18:00:00 + 0200”, “时区”: “欧洲/苏黎世”, “ID”: “1632156500365990”}
{“location”:“UniversitédeSafrania”,“name”:“Conférence”神奇宝贝的 研究\ “”, “START_TIME”: “2015-10-31T20:30:00 + 0100”, “时区”: “欧洲/巴黎”, “ID”: “372932366218217”}
{“location”:“Digital October Center”,“name”:“BigData 会议”, “START_TIME”: “2015-09-18T09:00:00 + 0300”, “时区”: “欧洲/莫斯科”, “ID”: “680056618762120”}
{“location”:“Centro CulturaldeBelém”,“name”:“iMedConference7.0® - 里斯本2015“,”start_time“:”2015-09-17“,”时区“:”欧洲/里斯本“,”id“:”700462560065856“} { “位置”:“UNIVERSITEIT van Amsterdam / Oudemanhuispoort“,”name“:”2015阿姆斯特丹地区 会议”, “START_TIME”: “2015年9月19日”, “时区”: “欧洲/阿姆斯特丹”, “ID”: “1608898599391019”}
这是以下代码的结果:
string searchKeyword = "conference";
Facebook.JsonObject result = (Facebook.JsonObject) fbClient.Get("/search?q=" + searchKeyword + "&type=event");
JsonArray data = (JsonArray)result["data"];
for(int i = 0; i< data.Count; i++)
{
JsonObject l = (JsonObject) data.ElementAt(i);
Response.Write(l);
}
当我尝试在jsonobject中获取每个会议的位置时,我收到以下错误:
“System.Collections.Generic.KeyNotFoundException”类型的异常 发生在mscorlib.dll中但未在用户代码中处理
我使用此代码获取位置:
for(int i = 0; i< data.Count; i++)
{
JsonObject l = (JsonObject) data.ElementAt(i);
Response.Write(l["location"]);
}
轻松使用此数据的正确方法是什么?我试图首先反序列化数据对象,但这会产生错误。
如果我执行此代码:
string searchKeyword = "conference+reggae";
Facebook.JsonObject result = (Facebook.JsonObject) fbClient.Get("/search?q=" + searchKeyword + "&type=event");
JsonArray data = (JsonArray)result["data"];
Array d = data.ToArray();
Response.Write(result);
我得到了这个输出:
{"data":[{"end_time":"2015-09-26T06:00:00+0200","location":"Blue Note Düsseldorf","name":"DANCEHALL CONFERENCE 2 YEARS ANNIVERSARY / EARDRUM SOUND & CHANTA CREW / Dancehall, Mashup, Reggae, HipHop","start_time":"2015-09-25T23:00:00+0200","timezone":"Europe/Berlin","id":"1001780686562929"},{"location":"Blue Note Düsseldorf","name":"DANCEHALL CONFERENCE lgs. EARDRUM SOUND / Dancehall, Mashup, Reggae, HipHop","start_time":"2015-10-23T23:00:00+0200","timezone":"Europe/Berlin","id":"1639387246339755"}],"paging":{"cursors":{"before":"MAZDZD","after":"MQZDZD"}}}
我如何继续获取每个条目的每个位置?
现在我已经通过在response.write周围使用try-catch子句来解决它,似乎得到的JSON不一致。
代码:
for (int i = 0; i < data.Count; i++)
{
JsonObject l = (JsonObject)data.ElementAt(i);
try
{
Response.Write(l["location"]);
}
catch (Exception e)
{
}
}
答案 0 :(得分:0)
我想强烈建议,通过&#34; newton json&#34;图书馆。我发现它对于处理json数据非常有用。你会发现小rnd的例子。它非常简单,并提供非常干净的代码来与json进行操作。