Home > Mobile >  How to read an JSON array
How to read an JSON array

Time:11-23

How do I read JSON arrays with plain javascript?

Example of the array I need to read:

{
  "GetRouteSummaryForStopResult": {
    "StopNo": "1234",
    "Error": "",
    "StopDescription": "STREET 1 / STREET 2",
    "Routes": {
      "Route": {
        "RouteNo": "1234",
        "RouteHeading": "END_POINT",
        "DirectionID": 1,
        "Direction": "",
        "Trips": {
          "Trip": [
            {
              "Longitude": "-75",
              "Latitude": "45",
              "GPSSpeed": "",
              "TripDestination": "END_POINT",
              "TripStartTime": "10:30",
              "AdjustedScheduleTime": "9",
              "AdjustmentAge": "0.48",
              "LastTripOfSchedule": false,
              "BusType": "NFIN"
            },
            {
              "Longitude": "",
              "Latitude": "",
              "GPSSpeed": "",
              "TripDestination": "END_POINT",
              "TripStartTime": "11:00",
              "AdjustedScheduleTime": "29",
              "AdjustmentAge": "-1",
              "LastTripOfSchedule": false,
              "BusType": ""
            }
          ]
        }
      }
    }
  }
}

I am trying to read Longitude And Latitude To Place in a map.

How would I go about doing this? It is pulled from an external API

I have tried:

function on_page_ld() {
var parse_data = "api.example.com/api_name/?key=abcdefg12345"
var jsonData = JSON.parse();
for (var i = 1; i < jsonData.Routes.Route.RouteNo; i  ) {
    var array = jsonData.Routes.Route.RouteNo[i];
    console.log(array);
  }
}

And I get:

VM4059:1 Uncaught SyntaxError: Unexpected token u in JSON at position 0

CodePudding user response:

async function on_page_ld(){
// Fetching data from API
const response = await fetch("api.example.com/api_name/?key=abcdefg12345")
// Parsing JSON
const data = await response.json()

// Your array of latitudes and longitudes
const locations = data.GetRouteSummaryForStopResult.Routes.Route.Trips.Trip

// get all your latitudes and longitudes 
for(i = 0; i < locations.length; i  ){
 console.log(i   ") latitude :"   locations[i].latitude);
console.log(i   ") longitude  :"   locations[i].longitude);
}
}

CodePudding user response:

You can read the values using a for-in loop

for (i in locations.length) {
  console.log(i   ") latitude :"   locations[i].latitude);
  console.log(i   ") longitude  :"   locations[i].longitude);
} 

  • Related