【发布时间】:2019-01-19 23:36:27
【问题描述】:
我需要编写一个 HTML 脚本,从 json api 中提取数据并以表格格式显示。
URL 是https://rtl2.ods-live.co.uk/api/scheduledJourneys?key=sQ3o5bYbz1&service=&date=2018-08-07&location=039026170002,我需要提取 LineRef 和 ScheduledArrivalTime 数据。
目前,我已手动将 URL 中的数据复制并粘贴到脚本标记内的对象中,并像这样提取数据,但无论如何我可以直接从 URL 本身解析数据吗?
var myObj, i, x = "";
myObj = {
"data": [{
"Site": "RTL",
"Operator": "RGB",
"LineRef": "53a",
"DepotCode": "RGB",
"LocationCode": "039026170002",
"LocationName": "300 Longwater Ave",
"ScheduledStartTime": "2018-08-07 05:12:00",
"LiveJourneyId": "0",
"Sequence": "10",
"RunningBoard": "50A",
"Duty": "1601",
"Direction": "Outbound",
"JourneyCode": "1",
"VehicleCode": "",
"DriverCode": "",
"TimingPoint": "TimingPoint",
"JourneyPattern": "JP649",
"ArrivalStatus": "",
"DepartureStatus": "",
"ScheduledArrivalTime": "2018-08-07 05:29:00"
}, {
"Site": "RTL",
"Operator": "RGB",
"LineRef": "53",
"DepotCode": "RGB",
"LocationCode": "039026170002",
"LocationName": "300 Longwater Ave",
"ScheduledStartTime": "2018-08-07 05:35:00",
"LiveJourneyId": "0",
"Sequence": "6",
"RunningBoard": "50B",
"Duty": "1602",
"Direction": "Outbound",
"JourneyCode": "3",
"VehicleCode": "",
"DriverCode": "",
"TimingPoint": "TimingPoint",
"JourneyPattern": "JP625",
"ArrivalStatus": "",
"DepartureStatus": "",
"ScheduledArrivalTime": "2018-08-07 05:49:00"
}, {
"Site": "RTL",
"Operator": "RGB",
"LineRef": "53a",
"DepotCode": "RGB",
"LocationCode": "039026170002",
"LocationName": "300 Longwater Ave",
"ScheduledStartTime": "2018-08-07 05:55:00",
"LiveJourneyId": "0",
"Sequence": "10",
"RunningBoard": "50A",
"Duty": "1601",
"Direction": "Outbound",
"JourneyCode": "7",
"VehicleCode": "",
"DriverCode": "",
"TimingPoint": "TimingPoint",
"JourneyPattern": "JP649",
"ArrivalStatus": "",
"DepartureStatus": "",
"ScheduledArrivalTime": "2018-08-07 06:13:00"
}, {
"Site": "RTL",
"Operator": "RGB",
"LineRef": "52a",
"DepotCode": "RGB",
"LocationCode": "039026170002",
"LocationName": "300 Longwater Ave",
"ScheduledStartTime": "2018-08-07 05:57:00",
"LiveJourneyId": "0",
"Sequence": "2",
"RunningBoard": "50B",
"Duty": "1602",
"Direction": "Inbound",
"JourneyCode": "2",
"VehicleCode": "",
"DriverCode": "",
"TimingPoint": "TimingPoint",
"JourneyPattern": "JP606",
"ArrivalStatus": "",
"DepartureStatus": "",
"ScheduledArrivalTime": "2018-08-07 06:00:00"
}]
}
x += "<table border='1'>"
for (i in myObj.data) {
x += "<tr><td>" + myObj.data[i].LineRef + "</td>" + "<td>" + myObj.data[i].ScheduledArrivalTime[11] + myObj.data[i].ScheduledArrivalTime[12] + myObj.data[i].ScheduledArrivalTime[13] + myObj.data[i].ScheduledArrivalTime[14] + myObj.data[i].ScheduledArrivalTime[15] + "</td></tr>";
}
x += "</table>"
document.getElementById("demo").innerHTML = x;
<p id="demo"></p>
我尝试过研究 getJSON 和 fetch() 之类的方法,但我对 JS 比较陌生,所以我不明白如何将它们应用到我的脚本中。脚本中的任何 cmets 对我也很有用
【问题讨论】:
-
您的问题是什么?如果您在使用
fetch或getJSON时需要帮助,那么在其他地方寻找教程会好得多。 -
你提到的API不支持CORS,所以你必须在自己的服务器上使用代理
标签: javascript json parsing getjson jsonparser