Maison > Article > interface Web > Que fait json.stringify() ?
json.stringify() est utilisé pour convertir des objets ou des valeurs JavaScript en chaînes JSON Si une fonction de remplacement est spécifiée, la valeur peut être éventuellement remplacée, ou le remplaçant spécifié est un tableau, ce qui est facultatif. . Contient uniquement les attributs spécifiés par le tableau.
Recommandations associées : "Tutoriel vidéo javascript"
JavaScript JSON.stringify()
La méthode JSON.stringify() est utilisée pour convertir les valeurs JavaScript en chaînes JSON.
Syntaxe
JSON.stringify(value[, replacer[, space]])
Description du paramètre :
valeur : obligatoire, la valeur JavaScript à convertir (généralement un objet ou un tableau).
remplacement : facultatif. La fonction ou le tableau utilisé pour convertir le résultat.
Si replacer est une fonction, JSON.stringify appellera la fonction, en transmettant la clé et la valeur de chaque membre. Utilisez la valeur de retour au lieu de la valeur d'origine. Si cette fonction renvoie undefined, le membre est exclu. La clé de l'objet racine est une chaîne vide : "".
Si le remplaçant est un tableau, seuls les membres avec des valeurs clés dans le tableau sont convertis. Les membres sont convertis dans le même ordre que les clés du tableau.
espace : facultatif, le texte ajoute une indentation, des espaces et des nouvelles lignes. Si l'espace est un nombre, le texte de la valeur de retour est indenté du nombre d'espaces spécifié à chaque niveau. supérieur à 10, le texte est en retrait de 10 espaces. L'espace peut également utiliser des non-nombres, tels que : t.
Valeur de retour :
Renvoie une chaîne contenant du texte JSON.
Exemple de description
Remarque : les résultats de sortie suivants sont tous de type chaîne Afin de faciliter la lecture, des guillemets simples '. ' ne sont pas utilisés pour indiquer le type de chaîne
1. Un seul paramètre
Le paramètre est un objet :
var students = new Array(); students[0] = "pika"; students[1] = "hello"; students[2] = "hey"; var json = JSON.stringify(students); alert(json);
Résultat de sortie :
["pika","hello","hey"]
Si JSON n'est pas utilisé, fonction .stringify(), alertez directement (étudiants), alors
résultat de sortie :
pika,hello,hey
D'ici à la comparaison, vous pouvez voir plus intuitivement le rôle de la fonction JSON.stringify()
Regardez d'autres exemples :
JSON.stringify({}); // 输出结果:{} JSON.stringify(true); // 输出结果:true JSON.stringify("foo"); // 输出结果:"foo" JSON.stringify([1, "false", false]); // 输出结果:[1,"false",false] JSON.stringify({ x: 5 }); // 输出结果:{"x":5} JSON.stringify({x: 5, y: 6}); //输出结果:{"x":5,"y":6} JSON.stringify([new Number(1), new String("false"), new Boolean(false)]); //输出结果:[1,"false",false]
Comme le montrent ces exemples : les objets d'empaquetage booléens, numériques et de chaîne seront automatiquement convertis en les objets d'emballage correspondants. valeurs d'origine pendant le processus de sérialisation
Regardez d'autres exemples :
JSON.stringify({x: undefined, y: Object, z: Symbol("")}); // 输出结果:{} JSON.stringify([undefined, Object, Symbol("")]); // 输出结果:[null,null,null]' JSON.stringify({[Symbol("foo")]: "foo"}); // 输出结果:{} JSON.stringify({[Symbol.for("foo")]: "foo"}, [Symbol.for("foo")]); // 输出结果:{} JSON.stringify( {[Symbol.for("foo")]: "foo"}, function (k, v) { if (typeof k === "symbol"){ return "a symbol"; } } ); //输出结果:undefined
Comme le montrent ces exemples : les fonctions et valeurs de symboles non définies et arbitraires seront ignorées pendant le processus de sérialisation (apparaissant dans les valeurs d'attributdes objets non-tableaux au milieu) ou converti en null (lorsqu'il apparaît dans un tableau)
Regardez le dernier exemple
JSON.stringify( Object.create( null, { x: { value: 'x', enumerable: false }, y: { value: 'y', enumerable: true } } ) );
Comme cela peut être vu de l'exemple : les propriétés non énumérables seront ignorées
2. Il y a deux paramètres. Le deuxième paramètre est la fonction
Exemple de fonction :
function replacer(key, value) { if (typeof value === "string") { return undefined; } return value; }
Cela peut être. vu qu'il y a une valeur clé et une valeur valeur. Rappelez-vous ce que j'ai dit au début. Le deuxième paramètre est-il utilisé comme valeur clé ?
Exemple :
function replacer(key, value) { if (typeof value === "string") { return undefined; } return value; } var foo = {foundation: "Mozilla", model: "box", week: 45, transport: "car", month: 7}; var jsonString = JSON.stringify(foo, replacer); //输出结果:{"week":45,"month":7}
consiste à transmettre la première valeur à la fonction pour le traitement associé
2 Il y a deux paramètres, le deuxième paramètre est un tableau <.>
Le premier paramètre est un tableauvar students = new Array(); students[0] = "pika"; students[1] = "hello"; students[2] = "hey"; var stu= new Array(); stu[0] = "how"; stu[1] = "are"; stu[2] = "u"; var json = JSON.stringify(students,stu); alert(json); //输出结果:["pika","hello","hey"]Le résultat est que seule la première valeur est sérialisée et la seconde est ignoréeLe premier paramètre est La valeur de l'objet
var students = new Object(); students.name = "pika"; students.age = 19; students.qq = "12345678"; var stu= new Array(); stu[0] = "name"; stu[1] = "qq"; var json = JSON.stringify(students,stu); alert(json); //输出结果:{"name":"pika","qq":"12345678"}représente le nom de l'attribut qui sera sérialisé dans une chaîne JSON le tableau stu n'a pas "age", donc l'attribut "age" de l'objet étudiants n'est pas affiché
Il y a trois paramètres
Comme mentionné précédemment, le troisième paramètre est utilisé pour indenter ou ajouter directement une chaîne devant l'objet sérialisé, il suffit donc de regarder l'exemple. Notez qu'au plus Peut avoir 10 retraits ou caractèresJSON.stringify({ a: 2 }, null, " "); // 输出结果:{\n "a": 2\n} JSON.stringify({ uno: 1, dos : 2 }, null, '\t') /* 输出结果: { "uno": 1, "dos": 2 } */ var students = new Object(); students.name = "pika"; students.age = 19; students.qq = "12345678"; var stu= new Array(); stu[0] = "name"; stu[1] = "qq"; var json = JSON.stringify(students,stu,"test") alert(json); /* 输出结果: { test"name": "pika", test"qq": "12345678" } */
Résumé
Enfin, pour résumer, le JSON.stringify() la fonction est utilisée pour sérialiser des objets Oui, peu importe ce qui est entré, la sortie est de type chaîne Vous pouvez personnaliser la façon de sérialiser et le format du résultat de sortie en fonction de vos propres besoins Pour plus de programmation. -connaissances liées, veuillez visiter :Programmation Apprendre ! !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!