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

Was sind die gängigen Methoden von PHP JSON?

青灯夜游
Freigeben: 2023-03-12 18:10:02
Original
2254 Leute haben es durchsucht

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(&#39;a&#39; => 1, &#39;b&#39; => 2, &#39;c&#39; => 3, &#39;d&#39; => 4, &#39;e&#39; => 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:

Nach dem Login kopieren

Ausgabeergebnis:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => 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: 🎜
<?php
// 一个有效的 json 字符串
$json[] = &#39;{"Organization": "PHP Documentation Team"}&#39;;

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


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;
}
?>
Nach dem Login kopieren
🎜Ausgabeergebnis: 🎜🎜
Decoding: {"Organization": "PHP Documentation Team"} - 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!

Verwandte Etiketten:
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
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage