1

Facebook グラフ検索リクエストの結果として、次の Json 形式の文字列を取得しています。

{
  "data": [
    {
      "name": "Event A", 
      "start_time": "2013-11-08T19:00:00+0200", 
      "end_time": "2013-11-10T00:00:00+0200", 
      "timezone": "Europe/Bucharest", 
      "id": "232252355126"
    }, 
    {
      "name": "Event B", 
      "start_time": "2013-11-08T13:00:00+0200", 
      "end_time": "2013-11-09T16:00:00+0200", 
      "timezone": "Europe/Bucharest", 
      "location": "Bucharest", 
      "id": "414334343426"
    }, 
    {
      "name": "Event C", 
      "start_time": "2013-10-30T18:30:00+0200", 
      "timezone": "Europe/Bucharest", 
      "location": "Bucharest", 
      "id": "44315995273"
    }
  ], 
  "paging": {
    "previous": "https://graph.facebook.com/search?limit=3&type=event&q=Bucharest&since=1383930000&__paging_token=22251255126", 
    "next": "https://graph.facebook.com/search?limit=3&type=event&q=Bucharest&until=1383150600&__paging_token=44115995273"
  }
}

この JSON からデータを取得しようとしているときにエラーが発生しました。私は試してみました

dynamic jsonData = await facebookClient.GetTaskAsync(string.Format("https://graph.facebook.com/search?q={0}&type=event&limit={1}&offset={2}", locationKeyword, limit, offset));
dynamic result = JsonConvert.DeserializeObject(jsonData.ToString());

使用するように指示する回答JavaScriptSerializerもありますが、Windows 8 アプリの開発に API を使用しているため、そのクラスの名前空間がありません。

どうにかしてdataオブジェクトからイベントを取得する方法を管理できません。

VS as の即時ウィンドウの値にアクセスしようとしましたresult.dataが、機能していません。

これを作成する方法を検索しますが、ほとんどの回答は、json データが収まるクラスを作成すると言っているようです。

でこれを達成できませんdynamicか?(result.data.name、result.paging.previous など)

4

2 に答える 2

0

XMLに変換したことを除いて、これとまったく同じことを以前に行ったことがあります。私の例:

(1 - JavaScript) var finalStr = JSON.stringify(facebookString)
(2 - ASP.NET) JsonConvert.DeserializeXmlNode("{\"root\":" + received_json + "}","root");
于 2013-11-11T22:11:36.967 に答える