JavaScript - Как перебирать вложенные списки данных / объекты / массивы?

У меня есть файл json с объектом с несколькими вложенными массивами и объектами, и я не могу найти способ перебрать его и получить все данные, поскольку свойства вложены в различные "местоположения" внутри объекта. Я попытался упростить объект и надеюсь, что он не слишком большой:

    {
        "trips": [{
            "trains": {
                "originTrains": {
                    "originTrain": [{
                        //always 2 x trainSegment - 1 for train to location and return train
                        "trainSegment": [{
                            //unknown numbers of objects inside trainSegment array
                            "Departure": {
                                "Location": "xxx"
                            },
                            "Arrival": {
                                "Location": "yyy"
                            },
                            "duration": 195,

                        }, {
                            "Departure": {
                                "Location": "yyy"
                            },
                            "Arrival": {
                                "Location": "zzz"
                            },
                            "duration": 240,
                        }],
                        "duration": 485
                    }, {
                        "trainSegment": [{
                            "Departure": {
                                "Location": "zzz"
                            },
                            "Arrival": {
                                "Location": "mmm"
                            },
                            "duration": 160,
                        }, {
                            "Departure": {
                                "Location": "mmm"
                            },
                            "Arrival": {
                                "Location": "xxx"
                            },
                            "duration": 325,
                        }],
                        "duration": 745
                    }]
                },
                "Direction": "Return"
            },

            "PriceInfo": {
                "Breakdown": {
                    "FareBreakdown": {
                        "PassengerQuantity": {
                            "Quantity": 1,
                            "Code": "ABC"
                        },
                        "Endorsements": {
                            "NotRefundable": true
                        }
                    }
                },
                "FareInfos": {
                    "FareInfo": [{
                        "Extensions": {
                            "SeatsRemaining": {
                                "BelowMinimum": false,
                                "Number": 4
                            }
                        }
                    }]
                },
                "Fare": {
                    "TotalFare": {
                        "CurrencyCode": "USD",
                        "DecimalPlaces": 2,
                        "Amount": 341.61
                    },
                    "Taxes": {
                        "Tax": [{
                            "CurrencyCode": "USD",
                            "DecimalPlaces": 2,
                            "TaxCode": "TOTALTAX",
                            "Amount": 66.25
                        }]
                    },
                    "BaseFare": {
                        "CurrencyCode": "USD",
                        "DecimalPlaces": 2,
                        "Amount": 275.36
                    }
                }
            },
            "TicketingInfo": {
                "TicketType": "eTicket"
            }
        }, {
            "trains": {
                "originTrains": {
                    //all over again


    }

В конце концов я хочу отобразить всю информацию (в качестве источника, пункта назначения, времени, длительности для всех поездов. Все, что я пробовал до сих пор, на самом деле не работало. Я не предоставлял свой код, так как все мои циклы не имеют смысла и не не работает, но может предоставить, конечно. Любая помощь будет очень признателен. Спасибо.

0 ответов

Другие вопросы по тегам