In der json_encode-Ausgabe sind nicht mehr als drei Backslashes zulässig.
P粉561749334
2023-08-08 21:02:30
<p>Ich habe einen Code, der eine sehr große Datenmenge verarbeitet und diese mithilfe von json_encode (ca. 255.000 Zeichen) konvertiert. Mir ist jedoch aufgefallen, dass json_encode jedes Mal nicht mehr als 3 Backslashes im Ergebnis zurückgibt. Ist das Absicht, ein Fehler oder etwas anderes? </p>
<pre class="brush:php;toolbar:false;"><?php
header("content-type: application/json");
Funktion Json_Zip($dir, $data) {
if ($dh = opendir($dir)) {
while (($entry2 = readdir($dh)) !== false) {
if ($entry2 != "." && $entry2 != "..") {
$entry2 = $dir . $entry2;
if (is_dir($entry2)) {
$data[$entry2] = 0;
$data = Json_Zip($entry2."/", $data);
} anders {
$fileContent = file_get_contents($entry2);
$data[$entry2] = $fileContent;
}
}
}
}
$data zurückgeben;
}
file_put_contents("content.json",json_encode(Json_Zip("./", []), JSON_UNESCAPED_UNICODE));</pre>
<p>Wenn ich ein Skript verwende, um eine Datei in ein Verzeichnis zu konvertieren, passiert Folgendes: <br /><br /> (beginnend mit: „hercher „Nom : Le mei“) (nach json_encode Nach: "hercher "Nom : Le mei"), ich habe versucht, die PHP-Version zu aktualisieren, aber es hat sich nichts geändert. </p><p><br /></p>
我没有验证PHP中的函数,但是您的JSON输入是错误的。
JSON由键值对组成,例如:
或者多个由逗号分隔的键值对:
为了可读性,您可以稍微调整内容的排列方式,但从技术上讲这并非必需: