Formats de données
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 1
Formats de Données
Cette Présentation couvre les points suivants:
• HTML
• XML
• JSON
• YAML
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 2
Le concept des formats de données
Les formats de données sont simplement un moyen de stocker et d'échanger des
données dans un format structuré. Un de ces formats est appelé Hypertext Markup
Language (HTML). HTML est un langage de balisage standard pour décrire la structure
des pages Web.
Voici quelques formats de données courants utilisés dans de nombreuses applications, y
comprennent l'automatisation du réseau et la programmabilité :
• JSON (JavaScript object Notation)
• XML (Extensible Markup Language)
• YAML (YAML Ain’t Markup Language)
Le format de données sélectionné dépend du format utilisé par l'application, l'outil ou le
script que vous utilisez. De nombreux systèmes pourront prendre en charge plusieurs
formats de données, ce qui permet à l'utilisateur de choisir son format préféré.
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 3
Règles de format des données
Les formats de données ont des règles et une structure similaires à celles que nous
avons avec la programmation et les langages écrits. Chaque format de données aura des
caractéristiques spécifiques :
• Syntaxe, qui inclut les types de parenthèses utilisés, tels que \ [ \], ( ), { }, l'utilisation
d'espaces blancs ou l'indentation, les guillemets, les virgules, etc.
• Comment les objets sont représentés, comme les caractères, les chaînes, les listes et
les tableaux.
• Comment les paires clé / valeur sont représentées. La clé se trouve généralement sur
le côté gauche et identifie ou décrit les données. La valeur à droite correspond aux
données elles-mêmes et peut être un caractère, une chaîne, un nombre, une liste ou
un autre type de données.
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 4
Comparez les formats de données
message: succes
timestamp: 1560789260
iss_position:
{ latitude: '25.9990’
"message": "success", longitude: '-132.6992'
"timestamp": 1560789260,
"iss_position": { Format YAML
"latitude": "25.9990", <?xml version="1.0" encoding="UTF-8" ?>
"longitude": "-132.6992" <root>
} <message>success</message>
} <timestamp>1560789260</timestamp>
Format JSON <iss_position>
<latitude>25.9990</latitude>
<longitude>-132.6992</longitude>
</iss_position>
</root>
Format XML
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 5
Formats de données JSON
JSON est un format de données lisible par l'humain utilisé par les applications pour
stocker, transférer et lire des données.
JSON est un format très populaire utilisé par les services Web et les API pour fournir des
données publiques.
il est facile à analyser et peut être utilisé avec la plupart des langages de programmation
modernes, y compris Python.
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 6
Formats de données JSON
GigabitEthernet0/0/0 is up, line protocol is up (connected)
Description: WAN 6.0.2/24
internet adress is 172.1
{
Comparez le résultat IOS "ietf-interfaces:interface": {
(message affiché sur un "name": "GigabitEthernet0/0/0",
routeur) ci-dessus au résultat "description": "WAN",
du format JSON. Notez que "activated": yes,
chaque objet (chaque paire "ietf-ip:ipv4": {
clé / valeur) est une donnée "adress": [
différente sur l'interface, y {
compris son nom, une "ip": "172.16.0.2",
description et si l'interface est "netmask": "255.255.255.0"
activée. }
]
}
} © 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 7
}
Formats de Données JSON
Règles de Syntaxe JSON
Voici quelques-unes des caractéristiques de JSON:
• Il utilise une structure hiérarchique et contient des valeurs imbriquées.
• Il utilise des accolades { } pour contenir des objets et des crochets [ ] contiennent des tableaux.
• Ses données sont écrites sous forme de paires clé / valeur.
Dans JSON, les données appelées objet sont une ou plusieurs paires clé / valeur entre
accolades { }. La syntaxe d'un objet JSON comprend:
• Les clés doivent être des chaînes entre guillemets " ".
• Les valeurs doivent être un type de données JSON valide (chaîne, nombre, tableau, booléen, nul
ou autre objet).
• Les clés et les valeurs sont séparées par deux points.
• Plusieurs paires clé / valeur dans un objet sont séparées par des virgules.
• L'espace blanc n'est pas significatif.
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 8
Formats de Données JSON
Règles de Syntaxe JSON (suite)
Parfois, une clé peut contenir plusieurs valeurs. C'est ce qu'on appelle un tableau. Un
tableau en JSON est une liste ordonnée de valeurs. Les caractéristiques des tableaux
dans JSON incluent:
• La clé suivie de deux-points et d'une liste de valeurs entre crochets [ ]
• Un tableau est une liste ordonnée de valeurs.
• Le tableau peut contenir plusieurs types de valeurs, y compris une chaîne, un
nombre, un booléen, un objet ou un autre tableau à l'intérieur du tableau.
• Chaque valeur du tableau est séparée par une virgule.
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 9
Formats de Données JSON
Règles de Syntaxe JSON (suite)
Par exemple, une liste d'adresses {
IPv4 peut ressembler au résultat "adresses": [
suivant. Le clé est “adresses” . {
Chaque élément de la liste est un "ip": "172.16.0.2",
objet distinct, séparé par des "netmask": "255.255.255.0"
accolades { }. Les objets sont deux },
paires clé / valeur: une adresse {
IPv4 («ip») et un masque de sous- "ip": "172.16.0.3",
réseau («netmask») séparés par "netmask": "255.255.255.0"
une virgule. Le tableau d'objets },
dans la liste est aussi séparé par {
une virgule après l'accolade "ip": "172.16.0.4",
fermante pour chaque objet "netmask": "255.255.255.0"
}
]
}
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 10
Formats de données YAML
YAML est un autre type de format de données lisibles par l'homme utilisé par les
applications pour stocker, transférer et lire des données. Certaines des caractéristiques
de YAML comprennent:
• C'est comme JSON et est considéré comme un sur-ensemble de JSON.
• Il a un format minimaliste qui facilite la lecture et l'écriture.
• Il utilise l'indentation pour définir sa structure, sans utiliser de crochets ou de virgules.
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 11
Formats de données YAML (suite)
{ • Le résultat IOS en JSON est à gauche. Les
"ietf-interfaces:interface": {
« Name": "GigabitEthernet2",
mêmes données au format YAML sont ci-
"description": "WAN”, dessous. C'est plus facile à lire.
"activated": yes, • Similaire à JSON, un objet YAML est une ou
"ietf-ip:ipv4": { plusieurs paires valeur / clé. Les paires valeur /
"adress": [
clé sont séparées par deux points sans utiliser
{
"ip": "172.16.0.2", des guillemets. En YAML, un trait d'union est
"netmask": "255.255.255.0" utilisé pour séparer chaque élément d'une liste.
}, ietf-interfaces:interface:
{ Name: GigabitEthernet2
"ip": "172.16.0.3", description: Réseau étendu (WAN)
"netmask": "255.255.255.0" activated :yes
}, ietf-ip:ipv4:
{ adresse:
"ip": "172.16.0.4", - ip: 172.16.0.2
"netmask": "255.255.255.0" netmask: 255.255.255.0
} - ip: 172.16.0.3
] netmask: 255.255.255.0
} - ip: 172.16.0.4
} netmask:
© 2016 Cisco255.255.255.0
et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 12
}
Formats de données XML
XML est un autre type de format de données lisibles par l'homme utilisé pour stocker,
transférer et lire des données par des applications. Certaines des caractéristiques de
XML incluent:
• C'est comme HTML, qui est le langage de balisage normalisé pour la création de
pages Web et d'applications Web.
• Il est auto-descriptif. Il enferme les données dans un ensemble
d'étiquette: <tag>data</tag>
• Contrairement à HTML, XML n'utilise ni balises ni structure de document prédéfinies.
Les objets XML sont une ou plusieurs paires clé / valeur, avec l'étiquette de début utilisée
comme nom de la clé: <key>value</key>
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 13
Formats de données XML (suite)
<?xml version="1.0" encoding="UTF-8" ?>
Le résultat suivant indique que les mêmes <ietf-interfaces:interface>
données pour GigabitEthernet2 sont <name>GigabitEthernet2</name>
formatées tel qu'un structure de données <description>WAN</description>
XML. Remarquez comment les valeurs sont <Activate>juste</Activate>
incluses dans les balises d'objet. Dans cet <ietf-ip:ipv4>
<adress>
exemple, chaque paire clé / valeur se <ip>172.16.0.2</ip>
trouve sur une ligne distincte et certaines <netmask>255.255.255.0</netmask>
lignes sont en retrait. Ceci n'est pas </adresse>
obligatoire mais est effectué pour la <adresse>
lisibilité. La liste utilise des exemples <ip>172.16.0.3</ip>
répétées de <tag></tag> pour chaque <netmask>255.255.255.0</netmask>
</adress>
élément de la liste. Les éléments de ces <adress>
exemples répétés représentent une ou <ip>172.16.0.4</ip>
plusieurs paires clé / valeur. <netmask>255.255.255.0</netmask>
</adresse>
</ietf-ip:ipv4>
</ietf-interfaces:interface>
© 2016 Cisco et/ou ses filiales. Tous droits réservés. Informations
Confidentielles de Cisco 14