回复
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中。
我无法将stats部分转换为Java类,其中6002306163363是一个变量,同样可以有更多的映射。以下是三个广告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
}
}
}
]
我必须创建一个Java类,它可以映射到上面的JSON而不能这样做。有人可以帮我吗?
更新:我从facebook和我们正在使用的api中获取此数据需要类,以便可以映射返回的json。我只能控制创建一个类,以便api在内部映射出来。我需要所需的java类格式。
答案 0 :(得分:1)
您需要一个hashmap或类似的东西来处理这些数字键。
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;
}
答案 1 :(得分:1)
我是Mark Allen(RestFB维护者)。版本1.6应使用新选项来解决此问题,以映射到内置的JsonObject类型 - 请查看http://restfb.com以获取示例。