JSON : Notation d'objet JavaScript
Règles de syntaxe JSON
Données en paires nom/valeur
Les données sont séparées par des virgules
Les accolades sauvent les objets
Les crochets enregistrent les tableaux
JSON a 6 types de valeurs :
Objet, tableau, chaîne, nombre, valeur booléenne, null
Un objet JSON est une collection non ordonnée de paires nom/valeur
Nom : n'importe quelle chaîne
Valeur : valeur JSON de tout type, y compris les tableaux et les objets (les objets peuvent être intégrés dans des objets)
Remarque : les chaînes JSON doivent utiliser des guillemets doubles (les guillemets simples signaleront une erreur)
1.Objet
Créer des littéraux en javascript :
var object = { name:"lily", age:22 };
ou :
var object = { "name":"lily", "age":22 };
JSON :
{ "name":"lily", "age":22 }
2. Tableau
Le tableau JSON utilise la forme littérale du tableau en javascript
Rallonge :
La combinaison de tableaux et d'objets peut former des combinaisons de données plus complexes
Par exemple :
[ { "name":"lily", "age":22, "job":"docter" }, { "name":"nicy", "age":21, "job":"teacher" }, { "name":"lily", "age":22, "job":"AE" } ]
3. Analyse et sérialisation
JSON a une syntaxe similaire à JavaScript et peut analyser les structures de données JSON en objets JavaScript utiles
Objet 1.JSON
Envoyer et recevoir des données JSON
Lors de la lecture, de l'écriture, de l'envoi et de la réception d'objets de données JSON, ils doivent être convertis en chaînes et peuvent être convertis de chaînes en objets de données JSON. (lisez-les et écrivez-les de la même manière que pour javascript)
L'objet JSON a deux méthodes :
① stringify() : sérialiser les objets javascript en chaînes JSON
② parse() : analyser la chaîne JSON en valeur javascript native
Exemple :
var book = { title:"professional JavaScript", authors:[ "lily" ], edition:3, year:2011 }; var jsonText = JSON.stringify(book); alert(jsonText); //{"title":"professional JavaScript","authors":["lily"],"edition":3,"year":2011} alert(typeof jsonText); //string var bookCopy = JSON.parse(jsonText); alert(typeof bookCopy); //object
Dans cet exemple, JSON.stringify() est utilisé pour sérialiser un livre d'objets javascript dans une chaîne JSON, puis l'enregistrer dans jsonText ; transmettre la chaîne JSON jsonText directement à JSON.parse() pour obtenir la valeur javascript correspondante ;
Remarque : lors de la sérialisation d'objets JavaScript, les valeurs finales sont des propriétés d'instance de types de données JSON valides, et toutes les valeurs non valides seront ignorées
2. Options de sérialisation
JSON.stringify() peut recevoir deux paramètres lors de la sérialisation d'objets JavaScript
Paramètre 1 : filtre, qui peut être un tableau ou une fonction
Paramètre deux : une option indiquant s'il faut conserver l'indentation dans la chaîne JSON
1) Filtrer les résultats
Si le paramètre filter est un tableau, le résultat de JSON.stringify() ne contient que les attributs répertoriés dans le tableau
Par exemple :
var book = { "title":"professional JavaScript", "authors":[ "lily" ], edition:3, year:2011 }; var jsonText = JSON.stringify(book,["title","edition"]); alert(jsonText); //{"title":"professional JavaScript","edition":3} alert(typeof jsonText); // string
2) Indentation de chaîne :
Le troisième paramètre de la méthode JSON.stringify() est utilisé pour contrôler les caractères d'indentation et d'espacement dans le résultat
3) Méthode toJSON()
Définissez la méthode toJSON() pour que l'objet renvoie son propre format de données JSON
4. Valeur d'accès JSON
Le premier type : tableau simple
['élément1','élément2','élément3']
Valeur : Accédez à la valeur intégrée via un index numérique (l'index du premier élément est 0)
['élément1','élément2','élément3']
var items = ['item1','item2','item3'];
alerte(éléments[0]); // élément1
Deuxième type : utilisez {} pour représenter des objets et des tableaux
{ "clé": "valeur" }
Valeur : accédez à la valeur intégrée via le nom de la clé
var oExample = { "name": "lily" };
alert(oExample.name); // lily
alert(oExemple["nom"]); // lily
Grâce à ces deux méthodes, de nombreuses structures de données peuvent être décrites en termes de sous-enregistrements (avec des clés d'index nommées ou numériques) :
Par exemple :
var oNovelist = { "firstName":"lily", "lastName":"russ", "novels": [ { "title":"and choas died", "year":"1970" }, { "title":"the famale man", "year":"1976" } ] }; var msg = oNovelist.firstName+" "+oNovelist.lastName+"'s"+" "+oNovelist.novels[0].title+" "+"was published in"+oNovelist.novels[0].year; alert(msg); // lily russ's and choas died was published in1970
Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.