PHP json_encode Problem mit Array 0 Schlüssel

9

Ich habe ein Problem mit json_encode, um eine json-codierte Zeichenfolge aus einem Array zu generieren.

Der Abschnitt des fraglichen Arrays sieht so aus

%Vor%

Aber produziert dies in der Zeichenfolge:

%Vor%

Ich würde das erwarten:

%Vor%

Alles, was ich tue, ist folgendes:

%Vor%

Habe ich etwas falsch gemacht oder benötige ich mehr Code, um sicherzustellen, dass die 0-Taste vorhanden ist?

Prost Andy

    
andy_dodd 08.03.2013, 09:36
quelle

3 Antworten

15

Das Ergebnis, das Sie bekommen, sollte erwartet werden; json_encode erkennt, dass Sie nur numerische Schlüssel im Array verwenden, also übersetzt es dieses in ein Array anstelle eines Objekts in JSON. Die meiste Zeit, das ist genau das, was Sie tun wollen.

Wenn Sie das aus irgendeinem Grund nicht tun (warum?), können Sie in PHP & gt; = 5.3 die JSON_FORCE_OBJECT -Flag, um die gewünschte Ausgabe zu erhalten:

%Vor%     
Jon 08.03.2013 09:39
quelle
1

Wenn Sie Arrays in Ihrem JSON verwenden möchten, können Sie anstelle von JSON_FORCE_OBJECT Parameter einfach verwenden Array zu Objekt umwandeln.

Problem:

%Vor%

Nicht was wir erwarten:

%Vor%

Lösung:

%Vor%     
dmvslv 02.06.2016 13:53
quelle
-1

Cou kann versuchen, den Array-Schlüssel beispielsweise mit strval oder (string) in eine Zeichenfolge umzuwandeln.

    
Johni 08.03.2013 09:38
quelle

Tags und Links