JSON-Verarbeitung ist eine Aufgabe, die häufig in der WordPress-Entwicklung verarbeitet werden muss. Aus diesem Grund definiert WordPress eine Reihe von JSON-Verarbeitungsfunktionen. Das Folgende wird vom WordPress-Tutorial Kolumne. Lassen Sie uns eine einheitliche Einführung geben.
wp_json_encode
In JSON kodieren und einige Integritätsprüfungen durchführen.
wp_json_encode( $data, $options = 0, $depth = 512 )
Nach dem Login kopieren
Lassen Sie uns kurz über den Grund sprechen, warum WordPress diese Funktion eingeführt hat:
Zuallererst unterstützen verschiedene PHP-Versionen der json_encode-Funktion unterschiedliche Parameter. PHP 5.3 unterstützte zuvor nur einen Parameter, $data PHP 5.3 führte den Parameter $options ein und PHP 5.5 führte den Parameter $ Depth ein. Daher passt sich WordPress an verschiedene PHP-Versionen an, und wp_json_encode unterstützt drei Parameter und ist mit verschiedenen PHP-Versionen kompatibel.
Bevor json_encode verwendet wp_json_encode die Funktion _wp_json_prepare_data, um die Daten zu bereinigen, werden diese direkt zurückgegeben. Wenn es sich um ein Array handelt, verwenden Sie weiterhin _wp_json_prepare_data Funktion zum Bereinigen jedes Elements im Array. Wenn es sich um ein Objekt handelt und die Klasse des Objekts die JsonSerializable-Schnittstelle implementiert, wird $data = $data->jsonSerialize() zurückgegeben Verwenden Sie _wp_json_prepare_data, um jedes Attribut im Objekt zu bereinigen.
Verwenden Sie dann json_encode zum Kodieren, verwenden Sie _wp_json_sanity_check, um die Integritätsverarbeitung der Daten durchzuführen, und verwenden Sie schließlich json_encode zum Kodieren. _wp_json_sanity_check verwendet hauptsächlich die Funktion _wp_json_convert_string, um eine tiefe UTF-8-Erkennung und Konvertierung von Daten durchzuführen.
Es wird daher empfohlen, wp_json_encode zum JSON-Kodieren von Variablen zu verwenden, was zuverlässiger ist.
wpjam_json_encode
wp_json_encode( $data, $options = JSON_UNESCAPED_UNICODE, $depth = 512 )
Nach dem Login kopieren
PHP5.4 JSON hat eine neue Option: JSON_UNESCAPED_UNICODE, daher der Name: Nicht in Unicode kodieren, um Chinesisch lesbarer zu machen.
Also haben wir eine wpjam_json_encode-Funktion geschrieben. Der Standardwert des $options-Parameters ist auf JSON_UNESCAPED_UNICODE gesetzt. Wenn wpjam_json_encode($data) direkt verwendet wird, wird Chinesisch nicht codiert Unicode und ist besser lesbar.
Solange Sie das WPJAM Basic-Plugin installieren, verfügt Ihr WordPress über diese Funktion.
wp_send_json
JSON-Daten direkt senden.
wp_send_json( $response, $status_code = null )
Nach dem Login kopieren
Er gibt zuerst den Content-Type-Header von application/json aus. Wenn $status_code nicht leer ist, gibt er dann den Statuscode von $status_code aus.
Dann rufen Sie wp_json_encode auf, um die Daten zu kodieren.
wpjam_send_json
wpjam_send_json( $response, $status_code = null )
Nach dem Login kopieren
Um Chinesisch nach der JSON-Kodierung besser lesbar zu machen, haben wir auch die Funktion wpjam_send_json geschrieben, die fast mit wp_send_json identisch ist. Ich rufe einfach die Funktion zum Codieren von Daten auf: wpjam_json_encode.
Wenn es sich bei den eingehenden Daten außerdem um eine Instanz von WP_Error handelt, gibt wpjam_send_json direkt errcode und errmsg JSON aus. Wenn errcode nicht festgelegt ist, fügt wpjam_send_json automatisch errcode=>0 hinzu.
Installieren Sie das WPJAM Basic-Plug-in, und Ihr WordPress verfügt über diese Funktion.
wp_send_json_success und wp_send_json_error
WordPress bietet außerdem zwei Funktionen: wp_send_json_success und wp_send_json_error:
wp_send_json_success( $data = null, $status_code = null )
wp_send_json_error( $data = null, $status_code = null )
Nach dem Login kopieren
wp_send_json_suc. cess first gibt den Erfolg als wahr aus und dann werden die Daten $data in Daten platziert und ausgegeben. wp_send_json_error ermittelt, ob $data eine WP_Error-Instanz ist. Wenn ja, wird ein Array aus Code und Meldung ausgegeben. Unsere Implementierung von wpjam_send_json kann diese Fehler bereits automatisch verarbeiten.
wp_is_json_request
Bestimmen Sie, ob es sich bei der aktuellen Anfrage um eine JSON-Anfrage handelt, oder geben Sie ein JSON-Ergebnis zurück. Diese Funktion hat keine Parameter. Verwenden Sie sie direkt:
wp_is_json_request()
Es bestimmt, dass $_SERVER['HTTP_ACCEPT'] application/json enthält oder $_SERVER['CONTENT_TYPE'] gleich application/ ist json.
wp_is_jsonp_request
Bestimmen Sie, ob es sich bei der aktuellen Anfrage um eine JSONP-Anfrage handelt, oder geben Sie ein JSONP-Ergebnis zurück. Verwenden Sie sie direkt:
wp_is_jsonp_request()
Bestimmt zunächst, ob $_GET['_jsonp'] vorhanden ist, und bestimmt dann über die Funktion wp_check_jsonp_callback, ob sein Wert zulässig ist.
wp_check_jsonp_callback
Beurteilen Sie, ob der JSONP-Rückruf eine zulässige JavaScript-Rückruffunktion ist:
wp_check_jsonp_callback( $callback )
Die legale JavaScript-Rückruffunktion kann nur Zahlen plus Zeichen und englische Punkte verwenden.
Das obige ist der detaillierte Inhalt vonEine vollständige Liste der mit der WordPress-JSON-Verarbeitung verbundenen Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!