Autor | Zpráva | ||
---|---|---|---|
TikTakTak Profil * |
#1 · Zasláno: 25. 2. 2013, 18:21:35
Ahoj,
chtel bych se zeptat, jak udelat abych po pouziti json_encode($testArray) mohl pristupovat k jednotlivym polozkam v JS (po pouziti JSON parse) k obsahu jednotlivych poli za pomoci indexu?: Diky za kazdou radu. <?php $testArray = array(); $returnedArray = array("RAZ","DVA","TRI"); $returnedArray2 = array("RAZ","DVA"); $resultForTemplate[5] = $returnedArray; $resultForTemplate[10] = $returnedArray2; print_r($testArray); ?> |
||
Oison Profil |
#2 · Zasláno: 26. 2. 2013, 20:21:17
Ahoj, moc jsem to nepobral (možná jsem blb). Můžeš trochu ten problém rozvést? Spíš ukázat, jak to chceš používat v JS... Tohle PHP co zde máš neudělá vlastně nic :)
|
||
Majkl578 Profil |
Z dotazu chápu, že chceš serializovat pole
$resultForTemplate do JSONu, v JS jej následně deserializovat a používat nikoliv jako objekt, ale jako pole. To bude nejspíš problém, jelikož JSON nepodporuje pole s indexy. Buď je pole bez indexů (tedy 0, 1, 2, 3 atd.) nebo objekt s indexy. Ty bys chtěl, aby výstup byl něco takového:
[ 5: [ "RAZ", "DVA", "TRI" ], 10: [ "RAZ", "DVA" ] ] Možností je tedy použít objekt nebo do pole vložit prázdné (např. null) hodnoty na místa, aby doplnily pole dle očekávání. Oison: Podobné příspěvky bez obsahu si prosím příště odpusť. |
||
1Pupik1989 Profil |
#4 · Zasláno: 27. 2. 2013, 10:23:33
Můžeš to převést i v javascriptu přes nějakou funkci s cyklem. Příklad:
function isObjectType(obj, type) { return !!(obj && type && type.prototype && obj.constructor == type.prototype.constructor); } function convertToArray(obj){ if(!isObjectType(obj,Object)){ return obj; } var array = new Array(); for(var i in obj){ if(obj.hasOwnProperty(i)){ array[i] = convertToArray(obj[i]); } } return array; } Převede se vše, co je Object, zbytek se jen přiřadí. var jsonObject = JSON.parse('{"5":["RAZ","DVA","TRI"],"10":["RAZ","DVA"]}'); var jsonArray = convertToArray(jsonObject); console.log(jsonArray); |
||
Časová prodleva: 11 let
|
0