如何解析Facebook Graph API响应

How to Parse Facebook Graph API "hours" response

本文关键字:API 响应 Graph Facebook 何解析      更新时间:2023-09-26

我正在使用Facebook Graph API从Facebook页面获取一些数据,但我不知道如何处理"小时"结果,这是这样的:

{"wed_1_open":"17点",:"wed_1_close 02:00","thu_1_open":"17点",:"thu_1_close 02:00","fri_1_open":"17点",:"fri_1_close 02:00","sat_1_open":"12点",:"sat_1_close 02:00","sun_1_open":"12点",:"sun_1_close 20:00"} 之前

所以我想知道如何解析这个结果,以获得一些人类可读的文本,如info选项卡中的文本:

<>之前星期三至五:17:00至2:00星期六:12:00至2:00星期日:12:00 - 20:00之前

提前感谢!!

有一种方法:http://jsbin.com/xavaxudi/1/edit?js,console.

注意:这是我在几分钟内写的东西。如果你正在处理大量的数据,那么你可能需要进行相应的优化。

var rawFbData = {
    "wed_1_open": "17:00", 
    "wed_1_close": "02:00", 
    "thu_1_open": "17:00", 
    "thu_1_close": "02:00", 
    "fri_1_open": "17:00", 
    "fri_1_close": "02:00", 
    "sat_1_open": "12:00", 
    "sat_1_close": "02:00", 
    "sun_1_open": "12:00", 
    "sun_1_close": "20:00"
  };
console.log(rawFbData);
var formattedData = {};
for (var key in rawFbData) {
  if (key.substr(-5) === '_open') {
    var openDay = key.substr(0, 3);
    var openTime = rawFbData[key];
    var endTimeKey = key.replace('_open', '_close');
    var endTime = rawFbData[endTimeKey];
    var formattedDataKey = openTime + ' - ' + endTime;
    if (formattedData[formattedDataKey] === undefined) {
     formattedData[formattedDataKey] = []; 
    }
    formattedData[formattedDataKey].push(openDay);
  }  
}
//console.log(formattedData);
for (var formattedDatakey in formattedData) {
  var formattedDatakeyLen = formattedData[formattedDatakey].length;
  if (formattedDatakeyLen > 1) {
    var firstDay = formattedData[formattedDatakey][0];
    var lastDay = formattedData[formattedDatakey][formattedDatakeyLen - 1];
    console.log(firstDay + ' - ' + lastDay + ': ' + formattedDatakey);
  }
  else if (formattedData[formattedDatakey].length === 1) {
    console.log(formattedData[formattedDatakey][0] + ': ' + formattedDatakey);
  }
}