Maison  >  Article  >  interface Web  >  Résumé des connaissances liées à JSON_json

Résumé des connaissances liées à JSON_json

WBOY
WBOYoriginal
2016-05-16 15:51:371117parcourir

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.

Déclaration:
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