繁体   English   中英

如何解析Facebook Graph API“小时”响应

[英]How to Parse Facebook Graph API “hours” response

我正在使用Facebook Graph API从Facebook页面获取一些数据,但是我不知道如何在“小时”内处理结果,如下所示:

{
    "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"
  }

因此,我想知道如何解析此结果以获取一些易于阅读的文本,例如“信息”标签中的文本:

wed - fri: 17:00 - 2:00
sat: 12:00 - 2:00
sun: 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);
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM