Je ne sais pas trop quand utiliser ces deux méthodes d'analyse.
Après avoir fait écho à mes données json_encoded et les récupérer via ajax, je rencontre souvent une confusion quant au moment où je dois utiliser JSON.stringify et JSON.parse .
Je reçois [object,object]
mon console.log lors de l' analyse et un objet JavaScript lorsqu'il est stratifié.
$.ajax({
url: "demo_test.txt",
success: function(data) {
console.log(JSON.stringify(data))
/* OR */
console.log(JSON.parse(data))
//this is what I am unsure about?
}
});
javascript
json
HIRA THAKUR
la source
la source
json.stringify(json.parse(data))
.Réponses:
JSON.stringify
transforme un objet JavaScript en texte JSON et stocke ce texte JSON dans une chaîne, par exemple:JSON.parse
transforme une chaîne de texte JSON en objet JavaScript, par exemple:la source
JSON.parse()
est pour "analyser" quelque chose qui a été reçu en JSON.JSON.stringify()
consiste à créer une chaîne JSON à partir d'un objet / tableau.la source
JSON.stringify(3)
Ils sont l'inverse l'un de l'autre.
JSON.stringify()
sérialise un objet JS en une chaîne JSON, tandis queJSON.parse()
désérialise une chaîne JSON en un objet JS.la source
Ce sont les opposés les uns des autres.
JSON.stringify ()
JSON.stringify () sérialise un objet ou une valeur JS dans une chaîne JSON.
JSON.parse ()
La méthode JSON.parse () analyse une chaîne en tant que JSON, transformant éventuellement la valeur produite.
la source
parse()
seraitobjectify()
oujsonify()
.jsonify()
serait ambigu et trompeur, carparse()
ne pas convertir unString
à unJSON
genre (qui est ce quijsonify()
serait indique), maisparse()
convertit un JSON-formatéString
à l' un des:Object
,Array
,Number
,String
,Boolean
ounull
. Les gens confondent souvent la "représentation de chaîne" JSON etObject
(oudict
en Python, etc.).Tout d'abord, la
JSON.stringify()
fonction convertit une valeur JavaScript en une chaîne JSON (JavaScript Object Notation).JSON.parse()
La fonction convertit une chaîne JSON (JavaScript Object Notation) en objet. Pour plus d'informations sur ces deux fonctions, veuillez consulter les liens suivants.https://msdn.microsoft.com/library/cc836459(v=vs.94).aspx https://msdn.microsoft.com/library/cc836466(v=vs.94).aspx
Deuxièmement, l'exemple suivant vous sera utile pour comprendre ces deux fonctions.
la source
// La sortie sera:
// Pour la 1ère console est une chaîne comme:
// Pour la 2ème console est un objet comme:
la source
JSON.stringify()
Convertit un objet en chaîne.JSON.parse()
Convertit une chaîne JSON en objet.la source
La vraie confusion ici ne concerne pas l'analyse par rapport à la chaîne de caractères, c'est le type de données du
data
paramètre du rappel de réussite.data
peut être soit la réponse brute, c'est-à-dire une chaîne, soit un objet JavaScript, selon la documentation:Et le dataType par défaut à un paramètre de «supposition intelligente»
la source
Objet JavaScript <-> Chaîne JSON
JSON.stringify (obj) - Prend tout objet sérialisable et renvoie la représentation JSON sous forme de chaîne.
JSON.parse (string) - Prend une chaîne JSON bien formée et retourne l'objet JavaScript correspondant.
Explication: JSON.stringify (obj [, replacer [, espace]]);
Replacer / Space - facultatif ou prend une valeur entière ou vous pouvez appeler la fonction de retour de type entier.
la source
Ils sont à l'opposé l'un de l'autre.
JSON.parse()
est utilisé pour analyser les données reçues en tant que JSON ; il désérialise une chaîne JSON en un objet JavaScript .JSON.stringify()
d'autre part est utilisé pour créer une chaîne JSON à partir d'un objet ou d'un tableau ; il sérialise un objet JavaScript en une chaîne JSON .la source
Je ne sais pas si cela a été mentionné, mais l'une des utilisations de JSON.parse (JSON.stringify (myObject)) est de créer un clone de l'objet d'origine.
C'est pratique lorsque vous souhaitez jouer avec certaines données sans affecter l'objet d'origine. Probablement pas le moyen le plus propre / le plus rapide mais certainement le plus simple pour les objets qui ne sont pas massivement complexes.
la source
JSON.stringify(obj [, replacer [, space]])
- Prend tout objet sérialisable et renvoie la représentation JSON sous forme de chaîne.JSON.parse(string)
- Prend une chaîne JSON bien formée et retourne l'objet JavaScript correspondant.la source
Ils s'opposent.
JSON.Stringify()
convertit JSON en chaîne etJSON.Parse()
analyse une chaîne en JSON.la source
JSON: Il est principalement utilisé pour échanger des données vers / depuis le serveur. Avant d'envoyer l'objet JSON au serveur, il doit s'agir d'une chaîne.
Il convertit également le tableau Javascript en chaîne
Lorsque nous recevions les données JSON du serveur, les données étaient au format chaîne, d'où nous convertissons la chaîne en objet JSON.
la source
JSON.parse()
est utilisé pour convertir une chaîne en objet.JSON.stringify()
est utilisé pour convertir un objet en chaîne.Vous pouvez aussi vous référer à cela ...
la source
JSON.parse () prend une chaîne JSON et la transforme en objet JavaScript.
JSON.stringify () prend un objet JavaScript et le transforme en chaîne JSON.
Et bien que les méthodes soient généralement utilisées sur des objets, elles peuvent également être utilisées sur des tableaux:la source