1

応答

array (
    0 => 
    array (
      'time_start' => 1252652400,
      'time_stop' => 1252911600,
      'stats' => 
      array (
        6002306163363 => 
        array (
          'id' => 6002306163363,
          'impressions' => '6713',
          'clicks' => '7',
          'spent' => '593',
          'actions' => '1',
        ),
      ),
    ),
  )

データは、rest/ads.getAdGroupStats の facebook api に表示されます。

統計部分を Java クラスに変換できません。6002306163363 は変数であり、同様にさらに多くのマッピングを持つことができます。以下は、3 つの広告 123456、23456、34567 の完全な結果です。

[
  {
    "time_start": 0,
    "time_stop": 1285224928,
    "stats": {
      "123456": {
        "id": 123456,
        "impressions": 40,
        "clicks": 0,
        "spent": 0,
        "social_impressions": 0,
        "social_clicks": 0,
        "social_spent": 0
      },
      "23456": {
        "id": 23456,
        "impressions": 3,
        "clicks": 0,
        "spent": 0,
        "social_impressions": 0,
        "social_clicks": 0,
        "social_spent": 0
      },
      "34567": {
        "id": 34567,
        "impressions": 211457,
        "clicks": 84,
        "spent": 6898,
        "social_impressions": 124,
        "social_clicks": 0,
        "social_spent": 0
      }
    }
  }
]

上記のJSONにマッピングできるJavaクラスを作成する必要がありますが、マッピングできません。誰でもここで私を助けてもらえますか?

更新: 返された json をマップできるように、facebook からこのデータを取得し、使用している API でクラスが必要です。APIが内部的にこれをマップするように、クラスを作成することしか制御できません。必要な Java クラスの形式が必要です。

4

2 に答える 2

1

マーク・アレン(RestFBメンテナ)です。バージョン1.6は、組み込みのJsonObjectタイプにマップする新しいオプションでこれに対処する必要があります。例については、http://restfb.comを確認してください。

于 2011-01-05T19:18:24.603 に答える
1

これらの数値キーを処理するには、ハッシュマップまたは同様のものが必要です。

public class GroupStats {
   long time_start;
   long time_stop;
   HashMap<GroupAccount> stats;
}

public class GroupAccount {
   long id;
   int impressions;
   int clicks;
   int spent;
   int social_impressions;
   int social_spent;
}
于 2010-09-23T08:54:12.573 に答える