posso creare una matrice sparsa php (o mappa) con il comando:Decode oggetto JSON sparse per php gamma
$myarray = array(10=>'hi','test20'=>'howdy');
voglio serializzare/deserializzare questo come JSON. Posso serializzare usando il comando:
$json = json_encode($myarray);
che si traduce nella stringa {"10":"hi","test20":"howdy"}
. Tuttavia, quando ho deserializzare questo e gettalo via a una matrice con il comando:
$mynewarray = (array)json_decode($json);
mi sembra di perdere tutti i mapping con le chiavi che non erano identificatori php validi. Cioè, mynewarray
ha mappatura 'test20'=>'howdy'
, ma non 10=>'hi'
né '10'=>'hi'
.
C'è un modo per preservare i tasti numerici in una mappa php quando si effettua la conversione da e verso di nuovo da json utilizzando le funzioni standard json_encode
/json_decode
?
(sto usando PHP versione 5.2.10-2ubuntu6.4.)
Grazie Chris, questo è esattamente ciò di cui avevo bisogno. –
'true' è importante, per fare in tipo array di PHP, altrimenti' stdClass Object' – Rafee
omg, grazie amico, mi ha solo fatto esplodere il cervello. Ho scaricato array, ho visto la chiave, ma non ho potuto accedere a val da essa. – GoldenTabby