Ik krijg een object terug van mn Ajax request. Deze zet ik om naar een array. Uit deze array wil ik iets pakken by key. In PHP weet ik dat het zo moet:



$id = 123;

$array['voorbeeld']['nog_een_voorbeeld'][$id]['eventueel_nog_een_key'];



Hoe doe je dat bij javascript?
Je geeft wat weinig info.

Zelf voer ik ajax-calls altijd uit via jQuery en dan laat ik de response als json binnenkomen.

in jQuery staat dan iets als


$.ajax({
  url: 'iets.php',
  success: function(data) {
    console.log(data);
    console.log(data.element);
    console.log(data.element.sub);
  },
  error: function() {}
});


aangenomen dat er in php iets is als

<?php
$uitvoer['element']['sub'] = 1;
$uitvoer['element']['sub1'] = 10;
$uitvoer['element']['sub2'] = 20;
header('Content-Type: application/json');
exit( json_encode($uitvoer));
?>
Wat je nu heb het data.element.sub, wil ik bij element een variable plaatsen die een wisselend nummer heeft dus bijvoorbeeld:

var variantId = 10;

data.variantId.sub

Maar ik weet dat het zo niet hoort, hoe het wel hoort is een goede vraag :P
werkt dit niet?


var $id = 123;

data["voorbeeld"]["nog_een_voorbeeld"][$id]["eventueel_nog_een_key"]; 

aangezien er niet zo'n harde scheiding in javascript is tussen objecten en array's
Ik heb em gevonden. Het klopt inderdaad wat je zegt. Je kan ook gewoon brackets gebruiken en dat wist ik niet. Dus gwn:



var id = 123;

console.log(object.name.key[id];

Reageren