Heim Backend-Entwicklung PHP-Problem Was sind die gängigen Methoden von PHP JSON?

Was sind die gängigen Methoden von PHP JSON?

Sep 18, 2021 pm 04:56 PM
json php

php json allgemeine Methoden: 1. json_encode(), wird verwendet, um Zeichenfolgen im JSON-Format zu dekodieren; 2. json_encode(), wird verwendet, um Zeichenfolgen im JSON-Format zu dekodieren; 3. json_last_error(), wird verwendet, um den zuletzt aufgetretenen Fehler zurückzugeben.

Was sind die gängigen Methoden von PHP JSON?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

php json allgemeine Methoden:

1, json_encode()

PHP json_encode() Wird JSON verwendet, wird die Variable codiert. Wenn die Funktion erfolgreich ausgeführt wird, werden JSON-Daten zurückgegeben, andernfalls wird FALSE zurückgegeben.

Syntax

string json_encode ( $value [, $options = 0 ] )
Nach dem Login kopieren

Beispiel:

<?php
   $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
   echo json_encode($arr);
?>
Nach dem Login kopieren

Ausgabeergebnis:

{"a":1,"b":2,"c":3,"d":4,"e":5}
Nach dem Login kopieren

2, json_encode()

json_decode()-Funktion wird verwendet, um JSON-Formatzeichenfolgen zu dekodieren und in PHP-Variablen zu konvertieren.

Syntax:

mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
Nach dem Login kopieren

Parameter:

  • json_string: Zu dekodierender JSON-String, muss UTF-8-kodierte Daten sein

  • assoc: Wenn dieser Parameter TRUE ist, wird ein Array zurückgegeben, und wenn FALSE, Es wird ein Objekt zurückgegeben.

  • Tiefe: Parameter vom Typ Integer, der die Rekursionstiefe angibt.

  • Optionen: Binärmaske, derzeit wird nur JSON_BIGINT_AS_STRING unterstützt.

Beispiel:

<?php
   $json = '{&quot;a&quot;:1,&quot;b&quot;:2,&quot;c&quot;:3,&quot;d&quot;:4,&quot;e&quot;:5}';

   var_dump(json_decode($json));
   var_dump(json_decode($json, true));
?>
Nach dem Login kopieren

Ausgabeergebnis:

object(stdClass)#1 (5) {
    [&quot;a&quot;] =&gt; int(1)
    [&quot;b&quot;] =&gt; int(2)
    [&quot;c&quot;] =&gt; int(3)
    [&quot;d&quot;] =&gt; int(4)
    [&quot;e&quot;] =&gt; int(5)
}

array(5) {
    [&quot;a&quot;] =&gt; int(1)
    [&quot;b&quot;] =&gt; int(2)
    [&quot;c&quot;] =&gt; int(3)
    [&quot;d&quot;] =&gt; int(4)
    [&quot;e&quot;] =&gt; int(5)
}
Nach dem Login kopieren

3, json_last_error()

json_last_error – Gibt den zuletzt aufgetretenen Fehler zurück

Syntax:

json_last_error()
Nach dem Login kopieren

If any, gibt den letzten Fehler zurück, der während aufgetreten ist JSON-Codierungs- und Decodierungsfehler. Es wird eine Ganzzahl zurückgegeben und dieser Wert ist eine der folgenden Konstanten:

Es ist kein Fehler aufgetreten JSON_ERROR_STATE_MISMATCH
JSON-Fehler
KonstanteBedeutungVerfügbarkeit
JSON_ERROR_N EIN< /code ><code>JSON_ERROR_NONE没有错误发生
JSON_ERROR_DEPTH到达了最大堆栈深度
JSON_ERROR_STATE_MISMATCH无效或异常的 JSON
JSON_ERROR_CTRL_CHAR控制字符错误,可能是编码不对
JSON_ERROR_SYNTAX语法错误
JSON_ERROR_UTF8异常的 UTF-8 字符,也许是因为不正确的编码。PHP 5.3.3
JSON_ERROR_RECURSIONOne or more recursive references in the value to be encodedPHP 5.5.0
JSON_ERROR_INF_OR_NANOne or more NAN or INF values in the value to be encodedPHP 5.5.0
JSON_ERROR_UNSUPPORTED_TYPE指定的类型,值无法编码。PHP 5.5.0
JSON_ERROR_INVALID_PROPERTY_NAME指定的属性名无法编码。PHP 7.0.0
JSON_ERROR_UTF16Ungültiges oder ungewöhnliches JSON

JSON_ERROR_CTRL_CHAR


Steuerzeichenfehler, möglicherweise falsche Codierung

🎜🎜JSON_ERROR_SYNTAX🎜🎜🎜Syntaxfehler🎜 🎜🎜🎜🎜🎜JSON_ERROR_UTF8</code. >🎜🎜🎜Ausnahme al UTF-8-Zeichen, möglicherweise aufgrund einer falschen Codierung. 🎜🎜PHP 5.3.3🎜🎜🎜🎜🎜<code>JSON_ERROR_RECURSION🎜🎜🎜 Eine oder mehrere rekursive Referenzen im zu kodierenden Wert🎜🎜PHP. 5.5.0🎜🎜🎜🎜🎜 OR_INF_OR_NAN</ code>🎜🎜🎜Ein oder mehrere 🎜<code>NAN🎜 oder 🎜INF🎜 Werte im zu kodierenden Wert🎜🎜PHP 5.5.0🎜🎜🎜🎜🎜JSON_ERROR_UNSUPPORTED_TYPE🎜🎜🎜Der angegebene Typ, der Wert kann nicht kodiert werden. 🎜🎜PHP 5.5.0🎜🎜🎜🎜🎜JSON_ERROR_INVALID_PROPERTY_NAME🎜🎜🎜Der angegebene Eigenschaftsname kann nicht codiert werden. 🎜🎜PHP 7.0.0🎜🎜🎜🎜🎜JSON_ERROR_UTF16🎜🎜🎜Fehlerhafte UTF-16-Zeichen, möglicherweise weil die Zeichenkodierung falsch ist. 🎜🎜PHP 7.0.0🎜🎜🎜🎜🎜Beispiel: 🎜
&lt;?php
// 一个有效的 json 字符串
$json[] = &#39;{&quot;Organization&quot;: &quot;PHP Documentation Team&quot;}&#39;;

// 一个无效的 json 字符串会导致一个语法错误,在这个例子里我们使用 &#39; 代替了 &quot; 作为引号
$json[] = &quot;{&#39;Organization&#39;: &#39;PHP Documentation Team&#39;}&quot;;


foreach ($json as $string) {
    echo &#39;Decoding: &#39; . $string;
    json_decode($string);

    switch (json_last_error()) {
        case JSON_ERROR_NONE:
            echo &#39; - No errors&#39;;
        break;
        case JSON_ERROR_DEPTH:
            echo &#39; - Maximum stack depth exceeded&#39;;
        break;
        case JSON_ERROR_STATE_MISMATCH:
            echo &#39; - Underflow or the modes mismatch&#39;;
        break;
        case JSON_ERROR_CTRL_CHAR:
            echo &#39; - Unexpected control character found&#39;;
        break;
        case JSON_ERROR_SYNTAX:
            echo &#39; - Syntax error, malformed JSON&#39;;
        break;
        case JSON_ERROR_UTF8:
            echo &#39; - Malformed UTF-8 characters, possibly incorrectly encoded&#39;;
        break;
        default:
            echo &#39; - Unknown error&#39;;
        break;
    }

    echo PHP_EOL;
}
?&gt;
Nach dem Login kopieren
🎜Ausgabeergebnis: 🎜🎜
Decoding: {&quot;Organization&quot;: &quot;PHP Documentation Team&quot;} - No errors
Decoding: {&#39;Organization&#39;: &#39;PHP Documentation Team&#39;} - Syntax error, malformed JSON
Nach dem Login kopieren
🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonWas sind die gängigen Methoden von PHP JSON?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP-Kurzanleitung

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein Dec 20, 2024 am 11:31 AM

So richten Sie Visual Studio-Code (VS-Code) für die PHP-Entwicklung ein

See all articles