Table des matières
Utilisez JSON.stringify()
自定义对象转换
带缩进的JSON字符串
结论

objet javascript et chaîne

May 21, 2023 pm 12:18 PM

En JavaScript, les objets sont un type de données courant et nous pouvons utiliser des objets pour représenter n'importe quelle entité ou concept dans le monde réel. Mais dans certains cas, nous devons convertir un objet en chaîne. Par exemple, lorsque nous devons transmettre des données d'objet lors de la sauvegarde de données ou de l'envoi de requêtes réseau, nous devons convertir l'objet en chaîne. Cet article explique comment convertir des objets JavaScript en chaînes.

Utilisez JSON.stringify()

JavaScript fournit la méthode JSON.stringify() pour convertir les objets JavaScript en chaînes JSON. JSON (JavaScript Object Notation) est un format d'échange de données léger, facile à lire et à écrire, et facile à analyser et à générer par les machines. Voici un exemple d'utilisation de la méthode JSON.stringify() pour convertir un objet JavaScript en chaîne JSON : JSON.stringify()方法,可以将JavaScript对象转换为JSON字符串。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,也易于机器解析和生成。以下是使用JSON.stringify()方法将JavaScript对象转换为JSON字符串的示例:

let obj = { name: "Tom", age: 25, city: "New York" };
let str = JSON.stringify(obj);
console.log(str);
Copier après la connexion

输出结果为:

{"name":"Tom","age":25,"city":"New York"}
Copier après la connexion
Copier après la connexion

在上面的示例中,我们首先定义了一个JavaScript对象obj,其中包含名称、年龄和城市属性。然后,我们使用JSON.stringify()方法将该对象转换为JSON字符串,并将其赋值给变量str。最后,我们使用console.log()方法将JSON字符串输出到控制台。

请注意,JSON.stringify()方法不会将JavaScript对象中的函数转换为字符串。如果对象中包含函数,则该函数将被忽略,例如:

let obj = { name: "Tom", age: 25, city: "New York", sayHello: function() { console.log("Hello!"); } };
let str = JSON.stringify(obj);
console.log(str);
Copier après la connexion

输出结果为:

{"name":"Tom","age":25,"city":"New York"}
Copier après la connexion
Copier après la connexion

在上面的示例中,对象obj包含一个名为sayHello()的函数。但是,在使用JSON.stringify()方法将该对象转换为字符串时,sayHello()函数被忽略了。

另外,如果对象中包含循环引用,例如:

let obj1 = { name: "Tom", age: 25 };
let obj2 = { name: "Jerry", age: 30 };
obj1.friend = obj2;
obj2.friend = obj1;
let str = JSON.stringify(obj1);
console.log(str);
Copier après la connexion

输出结果为:

Uncaught TypeError: Converting circular structure to JSON
Copier après la connexion

在上面的示例中,对象obj1obj2互相引用对方作为朋友。在使用JSON.stringify()方法将对象obj1转换为字符串时,由于存在循环引用,因此会抛出类型错误。

自定义对象转换

有时候,默认的JSON.stringify()方法不能满足我们的需求。例如,当对象中包含不支持JSON格式的自定义类型时,我们需要自定义对象转换操作。在这种情况下,我们可以使用JSON.stringify()方法的第二个参数,也称为“转换函数”,将自定义对象转换为JSON对象。以下是自定义对象转换的示例:

let user = { name: "Tom", age: 25, isAdmin: false, toString: function() { return this.name; } };
let jsonUser = JSON.stringify(user, function(key, value) {
  if (key == "isAdmin") {
    return undefined;
  }
  if (key == "toString") {
    return value.toString();
  }
  return value;
});
console.log(jsonUser);
Copier après la connexion

输出结果为:

{"name":"Tom","age":25,"toString":"Tom"}
Copier après la connexion

在上面的示例中,我们定义了一个名为user的自定义对象,包含名称、年龄和布尔类型属性isAdmintoString()方法。然后,我们使用JSON.stringify()方法将该对象转换为JSON字符串,并自定义了第二个参数作为转换函数。在转换函数中,如果键为isAdmin,则返回undefined,忽略该属性;如果键为toString,则返回函数的字符串表示形式;否则返回原始值。最后,我们使用console.log()方法将JSON字符串输出到控制台。

带缩进的JSON字符串

默认情况下,JSON.stringify()方法返回的JSON字符串不包含格式化和缩进。如果需要缩进输出的JSON字符串,例如,将字符串写入文件或在浏览器控制台打印,我们可以使用第三个参数定义缩进级别。以下是带缩进输出的JSON字符串的示例:

let user = { name: "Tom", age: 25, city: "New York" };
let str = JSON.stringify(user, null, 2);
console.log(str);
Copier après la connexion

输出结果为:

{
  "name": "Tom",
  "age": 25,
  "city": "New York"
}
Copier après la connexion

在上面的示例中,我们定义了一个JavaScript对象user,其中包含名称、年龄和城市属性。然后,我们使用JSON.stringify()方法将该对象转换为JSON字符串,并将第三个参数设置为2,以指定缩进级别。最后,我们使用console.log()方法将缩进JSON字符串输出到控制台。

结论

本文介绍了如何将JavaScript对象转换为字符串。我们使用了JSON.stringify()rrreee

Le résultat est : 🎜rrreee🎜Dans l'exemple ci-dessus, nous définissons d'abord un Objet JavaScript obj, qui contient les attributs de nom, d'âge et de ville. Nous utilisons ensuite la méthode JSON.stringify() pour convertir l'objet en chaîne JSON et l'attribuer à la variable str. Enfin, nous utilisons la méthode console.log() pour afficher la chaîne JSON sur la console. 🎜🎜Veuillez noter que la méthode JSON.stringify() ne convertit pas les fonctions des objets JavaScript en chaînes. Si l'objet contient une fonction, la fonction sera ignorée, par exemple : 🎜rrreee🎜Le résultat est : 🎜rrreee🎜Dans l'exemple ci-dessus, l'objet obj contient une fonction nommée sayHello( ) Fonction . Cependant, lors de la conversion de l'objet en chaîne à l'aide de la méthode JSON.stringify(), la fonction sayHello() est ignorée. 🎜🎜De plus, si l'objet contient des références circulaires, par exemple : 🎜rrreee🎜Le résultat de sortie est : 🎜rrreee🎜Dans l'exemple ci-dessus, les objets obj1 et obj2 se référer l'un à l'autre comme à un ami. Lors de la conversion de l'objet obj1 en chaîne à l'aide de la méthode JSON.stringify(), une erreur de type est générée en raison d'une référence circulaire. 🎜🎜Conversion d'objet personnalisé🎜🎜Parfois, la méthode JSON.stringify() par défaut ne peut pas répondre à nos besoins. Par exemple, lorsque l'objet contient un type personnalisé qui ne prend pas en charge le format JSON, nous devons personnaliser l'opération de conversion d'objet. Dans ce cas, nous pouvons utiliser le deuxième paramètre de la méthode JSON.stringify(), également appelée « fonction de conversion », pour convertir l'objet personnalisé en objet JSON. Voici un exemple de conversion d'objet personnalisé : 🎜rrreee🎜Le résultat est : 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons défini un objet personnalisé nommé user avec les attributs nom, âge et type booléen méthodes isAdmin et toString(). Ensuite, nous utilisons la méthode JSON.stringify() pour convertir l'objet en chaîne JSON et personnalisons le deuxième paramètre comme fonction de conversion. Dans la fonction de conversion, si la clé est isAdmin, retournez undefined et ignorez l'attribut ; si la clé est toString, retournez la chaîne du fonction Représentation ; sinon la valeur d'origine est renvoyée. Enfin, nous utilisons la méthode console.log() pour afficher la chaîne JSON sur la console. 🎜🎜Chaîne JSON indentée🎜🎜Par défaut, la chaîne JSON renvoyée par la méthode JSON.stringify() ne contient ni formatage ni indentation. Si vous devez indenter la chaîne JSON de sortie, par exemple en écrivant la chaîne dans un fichier ou en l'imprimant dans la console du navigateur, nous pouvons utiliser le troisième paramètre pour définir le niveau d'indentation. Voici un exemple de chaîne JSON avec sortie d'indentation : 🎜rrreee🎜La sortie est : 🎜rrreee🎜Dans l'exemple ci-dessus, nous avons défini un objet JavaScript user qui contient le nom, l'âge et la ville. attributs. Nous convertissons ensuite l'objet en chaîne JSON à l'aide de la méthode JSON.stringify() et définissons le troisième paramètre sur 2 pour spécifier le niveau d'indentation. Enfin, nous utilisons la méthode console.log() pour afficher la chaîne JSON indentée sur la console. 🎜🎜Conclusion🎜🎜Cet article explique comment convertir des objets JavaScript en chaînes. Nous avons utilisé la méthode JSON.stringify() pour convertir des objets JavaScript en chaînes JSON, et personnalisé l'opération de conversion d'objet et la sortie du niveau d'indentation. Ces techniques seront très utiles dans le développement réel. J'espère que cet article pourra vous aider à comprendre plus en profondeur la conversion entre les objets JavaScript et les chaînes. 🎜

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Mar 19, 2025 pm 03:58 PM

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Comment fonctionne le currying en JavaScript et quels sont ses avantages? Comment fonctionne le currying en JavaScript et quels sont ses avantages? Mar 18, 2025 pm 01:45 PM

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Mar 18, 2025 pm 01:44 PM

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

Comment fonctionne l'algorithme de réconciliation React? Comment fonctionne l'algorithme de réconciliation React? Mar 18, 2025 pm 01:58 PM

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Mar 21, 2025 pm 06:23 PM

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Mar 19, 2025 pm 03:59 PM

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Mar 19, 2025 pm 04:10 PM

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Quels sont les avantages et les inconvénients des composants contrôlés et incontrôlés? Mar 19, 2025 pm 04:16 PM

L'article traite des avantages et des inconvénients des composants contrôlés et incontrôlés dans la réaction, en se concentrant sur des aspects tels que la prévisibilité, la performance et les cas d'utilisation. Il conseille les facteurs à considérer lors du choix entre eux.

See all articles