Altova XMLSpy 2024 Enterprise Edition

Cette section contient une brève description de la manière dont sont structurées les données JSON. Les données JSON sont généralement stockées dans un document (d'instance) JSON mais peuvent aussi être stockées en tant que fragment de données JSON dans un document d'un autre type. Un fragment de données JSON ou un document est une structure de données JSON, qui est largement définie comme ci-dessous.

 

XMLSpy prend en charge également JSON5, qui est une extension de JSON qui rajoute des extensions minimales ECMScript 5. Voir json5.org pour plus d'informations.

 

Objets et tableaux JSON

Un document JSON (généralement enregistré avec l'extension de fichier .json) est établi sur les structures de données centrales suivantes :

 

 

Objet

Un objet est délimité par des accolades et est une collection désordonnée de zéro ou plus de paires de key:value. Ces paires key:value sont les propriétés de l'objet. La clé doit toujours être une chaîne et doit donc toujours être contenue dans des guillemets. La clé (aussi nommée le nom de la propriété) est séparée de sa valeur par un double-point. Une valeur de propriété peut être de tout type de données JSON (voir liste ci-dessous). Une propriété est séparée de la suivante par une virgule. La liste ci-dessous est un exemple d'un objet présentant trois propriétés (dont toutes ont des valeurs de type atomique) :

 

    {

      "emailtype": "home",

      "emailaddress": "contact01.home@altova.com",

      "citycode": 22

    }

 

 

 

Tableau

Un tableau est délimité par des crochets, et est une liste triée de zéro ou plus d'items séparés par des virgules. Ces items peuvent être de tout type de données JSON (voir liste ci-dessous).

 

Types de données JSON

Les valeurs de propriété d'objet et les items de tableau peuvent être constitués des types suivants :

 

string (doit être contenu dans des guillemets). Une chaîne peut être spécifiée en plus pour posséder un format, comme un format date-heure ou e-mail

number: un nombre avec une partie fractionnelle ; inclut des entiers

integer: un nombre sans partie fractionnelle ; un sous-ensemble du type number

boolean (true/false, non contenu dans des guillemets)

object: lorsqu'utilisé avec un autre objet, permet d'imbriquer des données

array: fournit la possibilité de construire des structures plus complexes que ce qui est autorisé par les objets

null (null, non contenu dans des guillemets)

 

Exemple of JSON data

Voici un exemple d'un fragment de données JSON. Veuillez noter comment le document est structuré en objets et en tableaux. De même, notez le type de données des valeurs-clé ; les valeurs de chaîne sont entre guillemets, les autres types apparaissent en vert.

 

{

  "first": "Jason",

  "last": "Jones"

  "isManager": true,

  "age": 35,

  "address": {

    "street": "Jason Avenue",

    "city": "Jasonville",

    "state": "JS",

    "postcode": "JS12 ON34"

  },

  "phone": [

    {

      "type": "home",

      "number": "12 3456-7890"

    },

    {

      "type": "office",

      "number": "789 012-34567"

    }

  ],

  "children": [],

  "partner": null

}

 

Certaines différences entre JSON5 et JSON

JSON5 est un sous-ensemble strict de JavaScript, s'ajoute aux nouveaux types de données JSON et fonctionne avec tous les contenus JSON existants. Vous trouverez ci-dessous quelques-unes des différences principales :

 

JSON5 prend en charge les commentaires. Les commentaires sont délimités comme suit : // comment // ou /* comment */.

Dans JSON5, les paires de clé key:value de doivent pas être contenues entre guillemets.

Dans JSON5, les chaînes peuvent être rédigées sur plusieurs lignes.

Les documents JSON5 peuvent être validés par rapport aux schémas JSON  mais pas par rapport aux schémas.

 

© 2017-2023 Altova GmbH