recherche

Maison  >  Questions et réponses  >  le corps du texte

Pas plus de 3 barres obliques inverses sont autorisées dans la sortie json_encode.

<p>J'ai un morceau de code qui gère une très grande quantité de données et les convertit à l'aide de json_encode (environ 255 000 caractères). Mais j'ai remarqué qu'à chaque fois json_encode ne renvoie pas plus de 3 barres obliques inverses dans le résultat. Est-ce intentionnel, un bug ou autre chose ? </p> <pre class="brush:php;toolbar:false;"><?php header("type de contenu : application/json"); fonction Json_Zip ($dir, $data) { si ($dh = opendir($dir)) { while (($entry2 = readdir($dh)) !== false) { if ($entry2 != "." && $entry2 != "..") { $entrée2 = $rép . $entrée2; si (is_dir($entry2)) { $données[$entrée2] = 0 ; $data = Json_Zip($entry2."/", $data); } autre { $fileContent = file_get_contents($entry2); $data[$entry2] = $fileContent; } } } } renvoyer $données ; } file_put_contents("content.json",json_encode(Json_Zip("./", []), JSON_UNESCAPED_UNICODE));</pre> <p>Lorsque j'utilise un script pour convertir un fichier en répertoire, cela se produit : <br /><br /> (en commençant par : "hercher "Nom : Le mei") (après json_encode Après : "hercher "Nom : Le mei"), j'ai essayé de mettre à jour la version PHP, mais rien n'a changé. </p><p><br /></p>
P粉561749334P粉561749334463 Il y a quelques jours608

répondre à tous(1)je répondrai

  • P粉551084295

    P粉5510842952023-08-09 17:11:46

    Je n'ai pas vérifié la fonction en PHP, mais votre entrée JSON est fausse.

    JSON se compose de paires clé-valeur, par exemple :


    {"hercher Nom": "Le mei"}

    ou plusieurs paires clé-valeur séparées par des virgules : 

    {"hercher Nom": "Le mei", "hercher Nom 2": "Le mei 2"}

    Vous pouvez légèrement ajuster la disposition de votre contenu pour plus de lisibilité, mais ce n'est pas techniquement nécessaire : ​​

    {
        "hercher Nom": "Le mei",
        "hercher Nom 2": "Le mei 2"
    }

    répondre
    0
  • Annulerrépondre