prototype of jquery library, array als string omzetten naar een echte array

Status
Niet open voor verdere reacties.

poashoas

Gebruiker
Lid geworden
31 mei 2008
Berichten
66
Heyyyy,

Ik heb iets gemaakt waarmee ik via een AJAX response een 'array-string' terug krijg:

De AJAX request is als volgt:

Code:
var objJSON = {
		"feedurl" : playlist
	};

	objJSON=JSON.stringify(objJSON);

	var myAjax = new Ajax.Request('{/literal}{zend_url module='youtube' controller='youtube' action='getplaylist'}{literal}', {
		method: 'get',
		parameters: "strJSON="+objJSON, 
		onComplete: function(r) { 
			var data = eval(r.responseText); 
.......

De output is een JSON array in een string:

Code:
[
{
"onclick":"playYt('http:\/\/www.youtube.com\/watch?v=0iRHBb8K1zU&feature=youtube_gdata_player');return false;",
"urltext":"maar dan heb je ook een picobello kapseltje!",
"imgsrc":"http:\/\/i.ytimg.com\/vi\/0iRHBb8K1zU\/2.jpg",
"seconds":"2.78",
"rating":"5.0",
"descr":"rembo & rembo\nknippen zonder afspraak\nhehe"
},

{
"onclick":"playYt('http:\/\/www.youtube.com\/watch?v=j7_HjkaP4-I&feature=youtube_gdata_player');return false;",
"urltext":"Rembo en Rembo - Hond uitlaten",
"imgsrc":"http:\/\/i.ytimg.com\/vi\/j7_HjkaP4-I\/2.jpg",
"seconds":"1.03",
"rating":"4.5",
"descr":"Het nog altijd immens populaire duo Rembo en Rembo"
}
]

Ik wil door de array gaan, maar dan moet ik van de string wel een ECHTE array maken.
Nu doe ik dat met:

Code:
var Str2Arr = eval(r.responseText);

Heeft Prototype daar geen sexy functie voor i.p.v evil functie: Eval() ?
 
Laatst bewerkt:
Ik doe niet aan Javascript Libraries, maar ik heb wel een normale oplossing:[JS]var json = JSON.parse(jsonString);[/JS]deze wordt door alle normale browsers ondersteund geloof ik. (IE dus niet).



:thumb:
 
Een JSON is een JavaScript Object Notation, oftewel gewoon een object dat je uit kunt lezen.

Aan je response te zien krijg je 2 objecten terug die beide in een array zitten.

r.responseText[0].descr geeft je dus "rembo & rembo\nknippen zonder afspraak\nhehe"
r.responseText[1].descr is dus "Het nog altijd immens populaire duo Rembo en Rembo"

Easy right? :)
 
Ik doe niet aan Javascript Libraries, maar ik heb wel een normale oplossing:[JS]var json = JSON.parse(jsonString);[/JS]deze wordt door alle normale browsers ondersteund geloof ik. (IE dus niet).



:thumb:

Nice. Waarom kan IE niet gewoon een normale browser zijn..... zucht.....
 
Een JSON is een JavaScript Object Notation, oftewel gewoon een object dat je uit kunt lezen.

Aan je response te zien krijg je 2 objecten terug die beide in een array zitten.

r.responseText[0].descr geeft je dus "rembo & rembo\nknippen zonder afspraak\nhehe"
r.responseText[1].descr is dus "Het nog altijd immens populaire duo Rembo en Rembo"

Easy right? :)

Thanks by the way, het was al een tijdje opgelost, maar dit was de beste straight-forward oplossing.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan