Heim >Backend-Entwicklung >PHP-Tutorial >Einführung in die Verwendung von json_encode in PHP

Einführung in die Verwendung von json_encode in PHP

不言
不言Original
2018-08-03 14:59:442050Durchsuche

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);

Erhalten Sie eine solche Ausgabe

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

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=你好)

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=你好"}

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"}

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=你好"}
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!

Stellungnahme:
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