Ich möchte die Funktionen json_encode in PHP Rückgabe eines JSON-array, auch wenn die Indizes sind nicht in Ordnung
aber laut diesem: http://www.php.net/manual/en/function.json-encode.php#94157 es nicht.
Ich bin mit flot, also ich brauche ein array mit numerischen Indizes zurückgegeben, aber was ich bekomme ist diese:
jsonp1282668482872 ( {"label":"Hits 2010-08-20","data":{"1281830400":34910,"1281916800":45385,"1282003200":56928,"1282089600":53884,"1282176000":50262,"1281657600":45446,"1281744000":34998}} );
so flot ist erstickt. Wenn ich var_dump das array, kurz bevor ich rufen Sie die Funktionen json_encode sieht es wie folgt aus:
array(7) {
[1281830400]=>
int(34910)
[1281916800]=>
int(45385)
[1282003200]=>
int(56928)
[1282089600]=>
int(53884)
[1282176000]=>
int(50262)
[1281657600]=>
int(45446)
[1281744000]=>
int(34998)
}
irgendwelche Ideen?
Die Frage ist stackoverflow.com/questions/11195692/...
InformationsquelleAutor Andrew Watson | 2010-08-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als zneak sagt, Javascript (und damit die JSON-arrays können nicht out-of-order-array-Schlüsseln. So muss man entweder akzeptieren, dass Sie die Arbeit mit JSON-Objekte, nicht arrays, oder rufen Sie
array_values
vorjson_encode
:Jedoch, es sieht aus wie du bist auf der Suche zur Anzeige von Zeitreihen-Daten mit flot. Wie Sie sehen können auf dem flot Zeitreihen-Beispiel, es sollte ein zwei-element-array in etwa so:
Gegeben array (nennen wir es
$data
) wir können den korrekten JSON-etwa so:Froh zu helfen. Bitte markieren Sie es als Antwort, wenn Sie glauben, dass es Ihre Frage beantwortet.
nach 6 Stunden Googleing, Sie haben mein problem gelöst immer die richtigen JSON bereit, um Graphen in FLOT. DANKE!!!
InformationsquelleAutor pr1001
Es ist begrifflich unmöglich. Sie können nicht codieren ein array mit festen Indizes in JSON.
Als eine Erinnerung, ein JSON-array sieht wie folgt aus:
Gibt es keinen Platz zu setzen, Indizes dort.
Sollten Sie arbeiten auf der Javascript Seite. Die Annahme, dass
json_encode
gibt ein Objekt zurück, können Sie konvertieren das Objekt in ein array. Das sollte nicht allzu schwer sein.Sie verlieren alle wichtigen Informationen, wenn Sie tun. Da die Tasten sind timestamps, ich glaube, Sie sind wichtig.
Ich bin damit einverstanden, aber als pkh und ich geschrieben, ich denke, er verwechselt das array-format, die er braucht in den ersten Platz.
InformationsquelleAutor zneak
Können Sie erzwingen, dass
json_decode()
zu produzieren arrays übergeben Sie TRUE als zweiten parameter, aber Sie können nicht erzwingen, dassjson_encode()
zu produzieren arrays an Erster Stelle:InformationsquelleAutor Marc B
Können Sie array_merge zu Reindizieren ein numerisch indiziertes array wie dieses:
In diesem Fall braucht er ein JSON-Objekt, ein array wird das nicht mehr tun.
InformationsquelleAutor Robin
Für flot, was Sie für Fragen nicht wirklich, was Sie wollen. Sie möchten ein array von arrays, und nicht ein array von zahlen. Das heißt, Sie wollen etwas, das aussieht wie dieses:
Als für wie zu das nicht in PHP, ich bin mir nicht sicher.
InformationsquelleAutor pkh