Heim > Backend-Entwicklung > PHP-Problem > So konvertieren Sie ein JSON-Objekt in ein PHP-Array

So konvertieren Sie ein JSON-Objekt in ein PHP-Array

PHPz
Freigeben: 2023-04-17 13:50:13
Original
547 Leute haben es durchsucht

json ist ein leichtes Datenaustauschformat, das immer beliebter wird. PHP ist eine hervorragende serverseitige Programmiersprache, die sich ideal für die Webentwicklung eignet. Daher ist die Konvertierung von JSON-Objekten in PHP-Arrays eine sehr nützliche Fähigkeit. In diesem Artikel erfahren Sie, wie Sie ein JSON-Objekt in ein PHP-Array konvertieren.

  1. json_decode()-Funktion

Die json_decode()-Funktion in PHP ist die Hauptmethode zum Konvertieren einer JSON-formatierten Zeichenfolge in eine PHP-Variable (Array oder Objekt). Die Syntax lautet wie folgt:

mixed json_decode(string $json[, bool $assoc = FALSE[, int $depth = 512[, int $options = 0]]])
Nach dem Login kopieren

Parameterbeschreibung:

  • json: JSON-Zeichenfolge. json:json 字符串。
  • assoc:一个布尔值,指示是否将 json 对象转换为关联数组。
  • depth:整数类型,指示最大深度。默认情况下,最大深度为 512,可以使用常量 JSON_DEPTH 定义。
  • options:选项,用于更细粒度地控制解码过程。可以使用以下常量的组合:
常量 描述
JSON_BIGINT_AS_STRING 在 PHP 5.4.0 及更高版本中可用。将大于 PHP_INT_MAX 的整数转换为字符串。
JSON_INVALID_UTF8_IGNORE
JSON_INVALID_UTF8_SUBSTITUTE
在 PHP 5.3.3 及更高版本中可用。JSON_INVALID_UTF8_IGNORE 此选项将忽略非法 UTF-8 字符。JSON_INVALID_UTF8_SUBSTITUTE 此选项将使用 Unicode 替换字符来替换非法 UTF-8 字符。
JSON_OBJECT_AS_ARRAY 将 json 对象转换为关联数组。
JSON_THROW_ON_ERROR 在 PHP 7.3.0 及更高版本中可用。此常量用于自动抛出异常,而不是返回 FALSE

示例:

以下是 JSON 字符串:

{
  "name": "John Doe",
  "age": 30,
  "city": "New York"
}
Nach dem Login kopieren

使用 json_decode() 函数将其转换为关联数组:

$json = '{"name":"John Doe","age":30,"city":"New York"}';
$arr = json_decode($json, true);

print_r($arr);
Nach dem Login kopieren

输出:

Array
(
    [name] => John Doe
    [age] => 30
    [city] => New York
)
Nach dem Login kopieren
Nach dem Login kopieren
  1. json_decode() 函数的使用注意事项
  • json_decode() 只能处理 UTF-8 编码的数据。
  • json_decode() 只支持在 PHP 中使用的数据类型,例如字符串、数字、数组和对象。
  • json_decode() 不支持特殊数据类型,如资源和回调函数。
  • json_decode() 只支持带双引号的 json 字符串。不要使用单引号或不带引号的键名。
  • 在给定 json_encode() 函数时,请使用常量 JSON_UNESCAPED_UNICODE
  • assoc: Ein boolescher Wert, der angibt, ob das JSON-Objekt in ein assoziatives Array konvertiert werden soll.
    tiefe: Ganzzahliger Typ, der die maximale Tiefe angibt. Standardmäßig beträgt die maximale Tiefe 512, was mit der Konstante JSON_DEPTH definiert werden kann.
  1. options: Optionen für eine detailliertere Steuerung des Decodierungsprozesses. Kombinationen der folgenden Konstanten können verwendet werden:

Konstante Beschreibung
JSON_BIGINT_AS_STRING Verfügbar in PHP 5.4.0 und höher. Konvertiert eine Ganzzahl größer als PHP_INT_MAX in eine Zeichenfolge.
JSON_INVALID_UTF8_IGNORE
JSON_INVALID_UTF8_SUBSTITUTE
In PHP 5.3.3 und höher Verfügbar in . JSON_INVALID_UTF8_IGNORE Diese Option ignoriert illegale UTF-8-Zeichen. JSON_INVALID_UTF8_SUBSTITUTE Diese Option ersetzt illegale UTF-8-Zeichen durch Unicode-Ersatzzeichen.
JSON_OBJECT_AS_ARRAY JSON-Objekt in assoziatives Array konvertieren.
JSON_THROW_ON_ERROR Verfügbar in PHP 7.3.0 und höher. Diese Konstante wird verwendet, um automatisch eine Ausnahme auszulösen, anstatt FALSE zurückzugeben.
Beispiel:

Das Folgende ist die JSON-Zeichenfolge:
    <?php
    // 1. 定义 json 格式的字符串
    $json = &#39;{"name":"John Doe","age":30,"city":"New York"}&#39;;
    
    // 2. 将 json 格式的字符串转换为 PHP 数组
    $arr = json_decode($json, true);
    
    // 3. 输出转换后的数组
    print_r($arr);
    ?>
    Nach dem Login kopieren
  1. Verwenden Sie json_decode() wandelt es in ein assoziatives Array um:
  2. Array
    (
        [name] => John Doe
        [age] => 30
        [city] => New York
    )
    Nach dem Login kopieren
    Nach dem Login kopieren
Ausgabe:

rrreee

    json_decode() Hinweise zur Verwendung der Funktion 🎜🎜🎜🎜json_decode() kann nur UTF-8-codierte Daten verarbeiten . 🎜🎜json_decode() unterstützt nur in PHP verwendete Datentypen wie Zeichenfolgen, Zahlen, Arrays und Objekte. 🎜🎜json_decode() unterstützt keine speziellen Datentypen wie Ressourcen und Rückruffunktionen. 🎜🎜json_decode() unterstützt nur JSON-Strings mit doppelten Anführungszeichen. Verwenden Sie keine einfachen Anführungszeichen oder Schlüsselnamen ohne Anführungszeichen. 🎜🎜Bei Übergabe an die Funktion json_encode() verwenden Sie die Konstante JSON_UNESCAPED_UNICODE, um sicherzustellen, dass Nicht-ASCII-Zeichen maskiert werden. 🎜🎜🎜🎜Beispiel🎜🎜🎜Hier ist das vollständige Beispiel für die Konvertierung eines JSON-Strings in ein PHP-Array: 🎜rrreee🎜Ausgabe: 🎜rrreee🎜🎜Fazit🎜🎜🎜Wie oben erwähnt, können wir ein JSON-Objekt mit der Funktion json_decode() konvertieren PHP-Array. Diese Technik ist in der Webentwicklung sehr nützlich und hilft uns, JSON-Daten aus AJAX-Aufrufen zu analysieren. 🎜

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein JSON-Objekt in ein PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage