Your json is valid , might be you are facing problem while accessing the objects inside the array.
print_r is always a good friend to understand array structure . try this
$json = '[{"location":[{"building":["Default Building"],"name":"Default Location"}],"name":"Default Organization"}]';
$decoded = json_decode($json);
echo '<pre>';
print_r($decoded);
$location = $decoded[0]->location;
$building = $location[0]->building[0];
$name = $location[0]->name;
Object at place 0 will only return the first item , if your array has multiple values then use foreach