Einführung in die Verwendung von json_encode in PHP

不言
Freigeben: 2023-04-03 15:12:02
Original
2007 Leute haben es durchsucht

Dieser Artikel stellt Ihnen die Verwendung von json_encode in PHP vor. Ich hoffe, dass er für Freunde hilfreich ist.

Angenommen, es gibt eine solche URL

$url = "https://www.baidu.com?key=你好";$data = ["url" => $url];echo json_encode($data);
Nach dem Login kopieren

Erhalten Sie eine solche Ausgabe

{"url":"https:\/\/www.baidu.com?key=\u4f60\u597d"}
Nach dem Login kopieren

Zunächst habe ich festgestellt, dass das Chinesische nach der Codierung hexadezimal geworden ist. Dies ist kein verstümmelter Code. Aber eine rein realistische Methode. Da Sie nur direkt deserialisieren müssen, um das ursprüngliche Ergebnis zu erhalten, ist Folgendes zu sehen:

//代码$jsonStr = '{"url":"https:\/\/ 
$data = json_decode($jsonStr);
print_r($data);//输出stdClass Object
(
    [url] => https://www.baidu.com?key=你好)
Nach dem Login kopieren

Es ist ersichtlich, dass dies kein verstümmelter Code ist Es handelt sich nicht um verstümmelten Code, wenn man sich die hexadezimale Gesamtsumme ansieht. Es wirkt sich auf das Lesen aus

Sie können einen Parameter hinzufügen json_encode

//代码
$url = "https://www.baidu.com?key=你好";$data = ["url" => $url];
echo json_encode($data, JSON_UNESCAPED_UNICODE);
//输出
{"url":"https:\/\/www.baidu.com?key=你好"}
Nach dem Login kopieren

und festgestellt, dass Chinesisch normal angezeigt werden kann, aber es gibt ein weiteres Problem, nämlich den Backslash automatisch mit einem Escape-Zeichen hinzugefügt

Es sieht ziemlich unbequem aus. Gibt es eine Möglichkeit, das Escape-Zeichen zu entfernen?

//代码
$url = " 
$data = ["url" => $url];
echo json_encode($data, JSON_UNESCAPED_SLASHES);
//输出
{"url":"https://www.baidu.com?key=\u4f60\u597d"}
Nach dem Login kopieren

Jetzt wurde das Escape-Zeichen entfernt, aber das Chinesisch ist geworden Ich möchte beides wieder entfernen. Was soll ich tun, wenn das Escape-Zeichen immer noch normal auf Chinesisch angezeigt wird?

um die Arbeit zu erledigen.

Darüber hinaus

Aufgrund der besonderen Natur der Werte

|

, da sie alle über

erhalten werden, können nicht nur XOR-Operationen verwendet werden , Sie können Addition auch direkt verwenden

//代码$url = " 
$data = ["url" => $url];
echo json_encode($data, JSON_UNESCAPED_UNICODE ^ JSON_UNESCAPED_SLASHES);
//输出
{"url":"https://www.baidu.com?key=你好"}
Nach dem Login kopieren
JSON_UNESCAPED_UNICODE Empfohlene verwandte Artikel: JSON_UNESCAPED_SLASHES1 << n (n为一个整数)Detaillierte Erklärung des Namespace in PHP

So verwenden Sie Curl in PHP Die Methode zum Empfangen der POST-Adresse besteht darin, eine Schnittstelle

zu erstellen

Das obige ist der detaillierte Inhalt vonEinführung in die Verwendung von json_encode in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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