• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2435
  • Last Modified:

How do I traverse this multidimensional JSON array/obj

I'm creating an AJAX script with PHP, and JS.

The PHP takes GET parameters, returns some data from the database. I need this data to be usable through javascript. My php verison < 5.2 so I dont have JSON encode. So far i've been able to get PHP to format a JSON array, the data looks like the following

{"6":{"lat":"34.409425","lng":"-119.861470"},"5":{"lat":"34.409414","lng":"-119.861221"},"8":{"lat":"34.410934","lng":"-119.861718"},"10":{"lat":"34.410503","lng":"-119.863998"},"9":{"lat":"34.412089","lng":"-119.866134"},"3":{"lat":"34.409475","lng":"-119.854704"},"7":{"lat":"34.413153","lng":"-119.855430"},"15":{"lat":"34.414979","lng":"-119.712181"},"14":{"lat":"34.414979","lng":"-119.712181"},"11":{"lat":"34.414979","lng":"-119.712181"},"13":{"lat":"34.414979","lng":"-119.712181"}}

The first key is a uuid then the following key is another array with latitude and logitude.  I need to extract this information from javascript.
function get_map()
{
	var distance = $("#distance").val();
	var sort = $("input[name='sort']:checked").val(); 
	var who = $("input[name='who']:checked").val();
	
	$.getJSON("ajax/ajax_get_locations_map.php",{distance: ""+distance+"",who: ""+who+"",sort: ""+sort+""}, function(data){
		var obj = (data);
		$.each(obj, function(i, val) {
 
		     //need help at this point to get variables  
		    });
	});
}

Open in new window

0
bperin42
Asked:
bperin42
1 Solution
 
alien109Commented:
you can do this:


for(var uuid in data) {
    var lat = data[uuid].lat;
    var lng = data[uuid].lng;
}
 
//Here's what your json string looks like formatted, revealing the structure a little better
 
{
   "6":{
      "lat":"34.409425",
      "lng":"-119.861470"
   },
   "5":{
      "lat":"34.409414",
      "lng":"-119.861221"
   },
   "8":{
      "lat":"34.410934",
      "lng":"-119.861718"
   },
   "10":{
      "lat":"34.410503",
      "lng":"-119.863998"
   },
   "9":{
      "lat":"34.412089",
      "lng":"-119.866134"
   },
   "3":{
      "lat":"34.409475",
      "lng":"-119.854704"
   },
   "7":{
      "lat":"34.413153",
      "lng":"-119.855430"
   },
   "15":{
      "lat":"34.414979",
      "lng":"-119.712181"
   },
   "14":{
      "lat":"34.414979",
      "lng":"-119.712181"
   },
   "11":{
      "lat":"34.414979",
      "lng":"-119.712181"
   },
   "13":{
      "lat":"34.414979",
      "lng":"-119.712181"
   }
}

Open in new window

0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now