Vor PHP 5.2 können Sie die JSON PECL-Erweiterung verwenden.
Tatsächlich wurde die Erweiterung in PHP 5.2 integriert ( zitiert ) :
Ab PHP 5.2.0 ist die JSON-Erweiterung gebündelt und in PHP kompiliert Standard.
Einige andere Lösungen wären die Verwendung einer in PHP entwickelten Komponente.
Vor einiger Zeit (vor etwa einem Jahr) habe ich die Zend_Json
-Komponente von Zend Framework
Selbst wenn Zend Framework PHP 5.2 benötigt, kann diese Komponente extrahiert werden (ich denke, es hängt nur von einer anderen Komponente ab - vielleicht Zend_Exception
oder etwas ähnliches) - und einem Jahr Vor, es war möglich, es mit PHP 5.1 zu verwenden.
Die offizielle offizielle JSON-Website verlinkt auch auf verschiedene PHP-basierte oder PHP-orientierte Komponenten - vielleicht sollten Sie sich diese Liste ansehen.
Ich habe das gleiche Problem mit PHP 5.1.6 festgestellt, konnte aber keine Erweiterungen auf dem Server meines Clients aktualisieren oder installieren. Zu allem Überfluss war die JSON.org-Seite ausgefallen, als ich eine Lösung benötigte, aber zum Glück funktionierte diese Datei in Google Code perfekt! Ich hätte es vorgezogen, json_encode / json_decode tatsächlich zu definieren, aber von jSON () aus zu arbeiten hat gut funktioniert.
Sie sehen diesen Fehler, weil Sie eine PHP-Version vor 5.2.0 haben. Diese Funktionen sind standardmäßig in php 5.2.0 und enthalten .
%Vor%Sie können installieren PECL-Erweiterung durch Ausführen von:
%Vor% Es wird kompiliert, und dann fügst du das zu deiner php.ini
Datei hinzu: (meins ist in /etc/php5/apache2
)
Starten Sie dann den Apache neu.
In meinem Server kann ich die JSON PECL-Erweiterung nicht installieren, weil es ein Problem mit zend_json verursacht, das in einer anderen App verwendet wird. Also habe ich dieses Skript gefunden, das perfekt funktioniert.
jsonwrapper: json_encode für frühere Versionen von PHP 5.x
PHP 5.2 fügt die Funktion json_encode
hinzu, die fast jede PHP-Datenstruktur in gültigen JavaScript-Code umwandelt. Hashes, Arrays, Arrays von Hashes, was auch immer.
Leider werden viele Linux-Distributionen mit PHP 5.1.x ausgeliefert.
jsonwrapper implementiert die Funktion json_encode
, wenn sie fehlt, und lässt sie in Ruhe, wenn sie bereits vorhanden ist. Also ist es schön zukunftsfähig.
Füge einfach hinzu:
%Vor%Ich hatte Probleme mit der Erweiterung Services_Json in PHP 5.1.3, daher habe ich folgende Bibliothek gefunden:
Es ist unter LGPL, und nach einem sehr schnellen Blick scheint es keine Eingabe zu geben.
Sie können jsonwrapper library ...
verwendenjsonwrapper implementiert die json_encode-Funktion, wenn sie fehlt, und lässt es alleine wenn es schon da ist. So ist es schön zukunftsfähig.
Hier herunterladen: jsonwrapper
Um es einfach zu benutzen:
%Vor%