Heim  >  Artikel  >  Backend-Entwicklung  >  JavaScript-Objektnotation (JSON) für PHP

JavaScript-Objektnotation (JSON) für PHP

伊谢尔伦
伊谢尔伦Original
2016-11-21 17:52:12960Durchsuche

Ab PHP 5.2.0 ist die JSON-Erweiterung standardmäßig in PHP integriert und kompiliert.

JSON-Serialisierungsschnittstelle JsonSerializable

Klassen, die JsonSerializable implementieren, können ihre JSON-Darstellung anpassen, wenn json_encode().

JsonSerializable::jsonSerialize – Gibt die Daten an, die in JSON serialisiert werden müssen

Beispiel #1 Gibt ein Array zurück

<?php
    class ArrayValue implements JsonSerializable {
        public function __construct(array $array) {
            $this->array = $array;
        }
        public function jsonSerialize() {
            return $this->array;
        }
    }
    $array = [1, 2, 3];
    echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
?>

Die obige Routine gibt Folgendes aus:

[
    1,
    2,
    3
]

Beispiel #2 Gibt ein assoziatives Array zurück

<?php
    class ArrayValue implements JsonSerializable {
        public function __construct(array $array) {
            $this->array = $array;
        }
        public function jsonSerialize() {
            return $this->array;
        }
    }
    $array = [&#39;foo&#39; => &#39;bar&#39;, &#39;quux&#39; => &#39;baz&#39;];
    echo json_encode(new ArrayValue($array), JSON_PRETTY_PRINT);
?>

Die obige Routine gibt Folgendes aus:

{
    "foo": "bar",
    "quux": "baz"
}

Beispiel #3 Gibt eine Ganzzahl zurück

<?php
    class IntegerValue implements JsonSerializable {
        public function __construct($number) {
            $this->number = (integer) $number;
        }
        public function jsonSerialize() {
            return $this->number;
        }
    }
    echo json_encode(new IntegerValue(1), JSON_PRETTY_PRINT);
?>

Die obige Routine gibt Folgendes aus:

1

Beispiel #4 Gibt eine Zeichenfolge zurück

<?php
    class StringValue implements JsonSerializable {
        public function __construct($string) {
            $this->string = (string) $string;
        }
        public function jsonSerialize() {
            return $this->string;
        }
    }
    echo json_encode(new StringValue(&#39;Hello!&#39;), JSON_PRETTY_PRINT);
?>

Die obige Routine gibt Folgendes aus:

"Hallo!"

JSON-Funktion

json_decode – Zeichenfolgen im JSON-Format kodieren

json_encode – Variablen in JSON kodieren

json_last_error_msg – Gibt die Fehlerzeichenfolge des letzten Aufrufs von json_encode() oder json_decode() zurück

json_last_error – Gibt den zuletzt aufgetretenen Fehler zurück


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn