Wie kann ich JSON in PHP 5.1 dekodieren?

8

Die json_decode-Funktion gehört nicht zu PHP 5.1, daher kann ich sie nicht verwenden. Gibt es eine andere Funktion für diese Version?

    
newbie 03.03.2010, 12:03
quelle

8 Antworten

8

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 , mit PHP 5.1.

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.

    
Pascal MARTIN 03.03.2010, 12:06
quelle
6

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.

Ссылка

    
Marcy Sutton 17.02.2011 18:54
quelle
3

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 )

%Vor%

Starten Sie dann den Apache neu.

    
jjclarkson 29.03.2010 13:13
quelle
1

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%

Ссылка

    
daniel__ 31.07.2013 09:34
quelle
0

Das Zend Framework hat Zend_Json. Zumindest war es vor ein paar Jahren.

Ссылка

Sie können die JSON-Bibliothek einfach entfernen und sie eigenständig verwenden.

    
Oli 03.03.2010 12:06
quelle
0

code

%Vor%

Warnung

das ist nicht getestet, ich habe es im Internet gefunden

link

Ссылка

    
Adam Kiss 03.03.2010 12:08
quelle
0

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.

    
personne3000 10.05.2014 08:11
quelle
0

Sie können jsonwrapper library ...

verwenden
  

jsonwrapper 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%     
Slipstream 06.10.2015 23:39
quelle

Tags und Links