如何从XHR替换JSON保险库?

时间:2019-12-30 11:22:24

标签: javascript html json

我需要帮助,如何用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的

1 个答案:

答案 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";
}