我需要帮助,如何用javascript xhr替换Web上json文件中的json保险库?
setagaya.json:
where `T1`.`notification_date`=(select max(`T2`.`notification_date`) from `og_ratings` `T2`
where `T1`.`client_id`=`T2`.`client_id` and `T1`.`security`='1' and `T1`.`press_release`!='' and `T1`.`summary_report`!='' and `T1`.`notification_date` IS NOT NULL and `T1`.`rating_scale_id`<>'7')
代码:
{"trains":[{"operation_number":1,"line_id":26007,"station_id":784,"track_number":1,"up":true},{"operation_number":2,"line_id":26007,"station_id":1015,"track_number":-1,"up":false},{"operation_number":3,"line_id":26007,"station_id":1012,"track_number":-1,"up":false},{"operation_number":4,"line_id":26007,"station_id":1009,"track_number":-1,"up":false},{"operation_number":5,"line_id":26007,"station_id":1009,"track_number":1,"up":true},{"operation_number":6,"line_id":26007,"station_id":1012,"track_number":1,"up":true},{"operation_number":7,"line_id":26007,"section_id":217,"up":false}],"delays":null}
此代码仅获取JSON,现在我需要替换该值。
因此,我要在Line_id到世田谷线的26007,Station_id到三元再也的943,Station_id到世田谷的1012,station_id到下高高道的784,在section_id到Matsubara-Yamasita的217的
答案 0 :(得分:1)
将要记住的所有映射定义为对象:
let lines = {
26007: "Setagaya Line"
};
let stations = {
943: "Sangenjaya",
1012: "Setagaya",
784: "Shimotakaido"
};
let sections = {
217: "Matsubara-Yamasita"
};
根据需要扩展。
还要定义一个实用函数:
function getVal(obj, prop) {
return prop in obj ? obj[prop] : prop || "";
}
这将从给定对象获取给定属性的值。如果对象未定义属性,则返回属性本身。如果还没有定义该属性,则返回空字符串。
最后将循环更改为:
for (var i in myObj.trains) {
output += "<tr><td><center>" + getVal(lines, myObj.trains[i].line_id)
+ "</center></td><td><center>" + myObj.trains[i].operation_number
+ "</center></td><td><center>" + getVal(sections, myObj.trains[i].section_id)
+ "</center></td><td><center>" + getVal(stations, myObj.trains[i].station_id)
+ "</center></td><td><center>" + myObj.trains[i].track_number
+ "</center></td><td><center>" + myObj.trains[i].up + "</center></td></tr>\n";
}