Ei jostain syystä jsonin purku onnistu:
//PHP $v[1] = 4; $v[2] = 2; $json = json_encode($v); echo'<script language="javascript"> getJson('.$json.'); </script>'; //Javascript function getJson(test) { var json = JSON.decode(test); document.write(test + " , " + json); }
tulostus näyttää seuraavalta: [object Object] , null
miksiköhän toi purku ei onnistu Mootoolssilla? Mootools pitäisi olla asennettu oikein, koska ei tule mitään valitusta firebugilta.
Koska dumppaamalla sen suoraan lähdekoodin sekaan tulet samalla jo dekoodanneeksi sen. Toisin sanoen test sisältää jo dekoodatun datan. Katsopa sivun lähdekoodia, niin ehkä ymmärrät. Vertaa:
var json = '{"a": "b"}'; // Tekstimuotoista JSON-dataa; tämän voi dekoodata. var data = {"a": "b"}; // JSON-data suoraan koodissa, siis valmis objekti.
Joo, niinpä näyttää olevan.
En ole aiemmin käyttänyt jsonia, niin osaatko vielä sanoa, että pystynkö jotenkin suoraan tekemään noista stringissä olevissa muuttujista javascript muuttujia, vai pitääkö itse rakentaa joku parseroija millä poimii noi tiedot sitten muuttujiin?
Käsittääkseni ne olisi mahdollista saada suoraan käytettävissä oleviksi muuttujiksi, mutta en meinaa saada toimimaan.
eli, että voisin esim heti kirjoittaa: json.a = json.a + "_toimii";
jolloin a olisi: "b_toimii";
Aihe on jo aika vanha, joten et voi enää vastata siihen.