PDA

Vollständige Version anzeigen : JSON text in JS auslesen


TeeJay
19.03.2007, 11:00
Moin,

ich habe mal folgendes versucht.


$params = array('1'=>'val1','2'=>'val2','3'=>'val3','4'=>'val4',)
$json = Zend_Json::encode($params);
$this->getResponse()->setBody($json);

das ganze wird dann an den client zurückgegeben. Der dann das hier ausgibt.

{"1":"val1","2":"val2"} .....
Die Frage ist nun, wie kann ich den json text wiederum in ein JS typischen array überführen, das ich dann über key and Value ansprechen kann.?
Ich habe die Beispiele auf http://www.json.org/js.html ausprobiert, leider ohne Erfolg. Ich schau mal weiter.

Gruß Thomas

dinok
19.03.2007, 11:51
Dein Beispiel funktioniert schon (mit eval) wenn du statt Zahlen Strings als Key nimmst:

<script type="text/javascript">
var myJSONtext = '{"foo":"bar"}';
var myObject = eval('(' + myJSONtext + ')');
alert(myObject . foo);
</script>
Liefert dann 'bar' wieder.
Sonst schau mal noch nach prototype (js lib), damit kannste vereinfacht damit umgehen.

gruß

ps:
http://prototypejs.org/learn/json

TeeJay
19.03.2007, 12:58
ja das ist mir schon klar, aber was machst du wenn der key ne Zahl ist

{"1":"val1","2":"val2"}

update

var myObject = eval('(' + test + ')');
for (var key in myObject) {
alert(myObject[key]);
}

das klappt so

juhu wieder nen bissel js gelernt :) (ja ich freu mich auch über kleine Dinge)