WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs
maak er een array van door er blokhaken omheen te zetten:
code:
1
2
3
| [{door:13, bericht:"lala", datum:"15:52:40"}, ... ] |
De wereld ligt aan je voeten. Je moet alleen diep genoeg willen bukken...
"Wie geen fouten maakt maakt meestal niets!"
Verwijderd
Zo is het geen valide JSON. Die heeft namelijk 1 resultaat-object als root. Zoiets dus:NetForce1 schreef op dinsdag 10 maart 2009 @ 19:39:
maak er een array van door er blokhaken omheen te zetten:
code:
1 2 3 [{door:13, bericht:"lala", datum:"15:52:40"}, ... ]
JavaScript:
1
2
3
4
5
6
| {"berichten" :[ {"door":"13","bericht":"lala","datum":"15:52:40"}, {"door":"18","bericht":"asdf","datum":"15:53:33"}, {"door":"18","bericht":"","datum":"15:53:42"}, {"door":"13","bericht":"jo","datum":"15:59:32"} ]} |
http://www.json.org/
Oke, het is gelukt
Thnx
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
| var evalvar = http.responseText; if(evalvar != '') { eval(evalvar); for(var i in getData.berichten) { var getBericht = getData.berichten[i].bericht; var getDoor = getData.berichten[i].door; var getDatum = getData.berichten[i].datum; getTotal = getTotal + '<h4 style="margin: 0; padding: 5px 5px 0 5px; font-size: 9pt;}">'+p[getDoor]+' ('+(getDatum)+')</h4><p style="margin: 0; padding: 0 5px;">'+getBericht+'</p>'; } berichtenDiv.innerHTML = berichtenDiv.innerHTML + getTotal; } |
WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs
Als je weet dat je evalvar van een trusted server komt zou eval() geen probleem hoeven zijn; ik neem aan dat je erin hebt staan:
"getData = {berichten: ...}"
Als alternatief pak je bijvoorbeeld json2.js van www.json.org en maak je ervan:
getData = JSON.parse(evalvar);
Dat JSON altijd een object moet zijn zoals Blues post is trouwens niet correct. Het mag ook een array zijn (RFC 4627 ch2). Zoals NetForce1 aangaf moet dus ook werken.
Naast dat je evalvar geldige JSON moet zijn - als je server een goede JSON encoder gebruikt is dat geen probleem - moet je trouwens nog wel letten op cross-site scripting vulnerabilities. De naam van de auteur en de tekst die ingevoerd is zijn dus zowiezo strings die je moet html escapen. Doe je dit niet serverside dan moet je dit clientside nog doen. Stel bijvoorbeeld dat iemand als bericht typt "<font size=1>hoi</font>".
"getData = {berichten: ...}"
Als alternatief pak je bijvoorbeeld json2.js van www.json.org en maak je ervan:
getData = JSON.parse(evalvar);
Dat JSON altijd een object moet zijn zoals Blues post is trouwens niet correct. Het mag ook een array zijn (RFC 4627 ch2). Zoals NetForce1 aangaf moet dus ook werken.
Naast dat je evalvar geldige JSON moet zijn - als je server een goede JSON encoder gebruikt is dat geen probleem - moet je trouwens nog wel letten op cross-site scripting vulnerabilities. De naam van de auteur en de tekst die ingevoerd is zijn dus zowiezo strings die je moet html escapen. Doe je dit niet serverside dan moet je dit clientside nog doen. Stel bijvoorbeeld dat iemand als bericht typt "<font size=1>hoi</font>".
Toch even inhakend op 't hele eval = evil stuk hier.
Wellicht handig om naar een JSON parser te kijken (http://www.json.org/js.html onderaan de pagina). Die maakt zichzelf straks obsolete als JSON parsing ondersteunend onderdeel van JS is / wordt. Wellicht gebruik je al een bestaande library en zit daar wellicht ook iets van JSON ondersteuning (zoals bijv. in mootools: http://mootools.net/docs/Utilities/JSON)
Wellicht handig om naar een JSON parser te kijken (http://www.json.org/js.html onderaan de pagina). Die maakt zichzelf straks obsolete als JSON parsing ondersteunend onderdeel van JS is / wordt. Wellicht gebruik je al een bestaande library en zit daar wellicht ook iets van JSON ondersteuning (zoals bijv. in mootools: http://mootools.net/docs/Utilities/JSON)
Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.
Nee, JSON is een geserialiseerd object of een array (hmmz, was al gezegdVerwijderd schreef op dinsdag 10 maart 2009 @ 20:19:
[...]
Zo is het geen valide JSON. Die heeft namelijk 1 resultaat-object als root. Zoiets dus:
[...]

IE8 biedt al native JSON ondersteuning. Note wel dat JSON officieel UTF8 vereist...BtM909 schreef op dinsdag 10 maart 2009 @ 22:35:
Toch even inhakend op 't hele eval = evil stuk hier.
Wellicht handig om naar een JSON parser te kijken (http://www.json.org/js.html onderaan de pagina). Die maakt zichzelf straks obsolete als JSON parsing ondersteunend onderdeel van JS is / wordt. Wellicht gebruik je al een bestaande library en zit daar wellicht ook iets van JSON ondersteuning (zoals bijv. in mootools: http://mootools.net/docs/Utilities/JSON)
[ Voor 57% gewijzigd door crisp op 10-03-2009 23:10 ]
Intentionally left blank
Pagina: 1