JSON, YAML, XML
Recientemente me mudé a Moscú a un apartamento sin escritorio.
Fue una circunstancia incómoda que agravó una situación difícil: tampoco había lugar para dormir. En general, llamé a IKEA y pedí que me trajeran los dos.
Un par de días después, se entregaron los muebles. Desempaqué la primera caja, se me cayó un manual y perdí las manos: debe tener cincuenta idiomas diferentes, todos en letra pequeña, como un libro de hechizos de Harry Potter. Pero cuando miré más de cerca, vi que solo había dibujos en él, a saber: dos tipos divertidos mostraban cómo manejar los detalles, cómo girarlos, ensamblarlos, etc. ¡Uf, felicidad! Pensé en JSON y XML. IKEA bien hecho, usaron un lenguaje universal de signos e imágenes, comprensible para todos en el mundo.
Si escribo algún código en JAVA y se me ocurre intercambiar este código con otra aplicación que esté escrita en Python, lo más probable es que nada funcione. Es como entregar a los japoneses las instrucciones para montar un escritorio en mongol. Para este punto de comunicación, necesito encontrar un lenguaje común o un lenguaje de serialización de datos , como bellezas como JSON o XML, por ejemplo.
XML (Extensible Markup Language) se utiliza principalmente en sitios web e intenta ser legible por humanos. Dije "intentar" porque lo hace bien, pero no muy bien. Su nombre incluye el concepto de marcado , porque en el código incluye detalles adicionales como formato de texto, fuente, color y tamaño.
JSON (JavaScriptObject Notation). , JavaScript. , APIs. APIs, XML, . .
XML YAML, (markup) . -, Python Perl. Ansible. Ansible . Yansible. - .
JSON
? , , . , , , .
, , . , display version CE, NE :
, , . , SSH Python display version display ip int brief, JSON , , XML YAML, , -, , , -, , . , , Python- . - , . ( ) JSON.
, :
, :
?
: ..
?
: -
! “” (key), - “” (value). (colon).
?
: 105
?
:
?
: 27 2007
. , . , - . key value, key value . :
“height”: “105m”
.
JSON : objects arrays.
:
{“height”: “105m”, “color”: “red”}
:
key:value . , .
{} curly braces
Key value : a colon
key:value , a comma ( !)
, () double quotes
:
(object)
{
“height” : “105m”,
“color” : “red”
}
:
, .
Ansible. CloudEngine6800 playbook display int GE1/0/1:
-vvv, . JSON:
ansible-playbook -vvv display_int_1.yml
, - :
? :
, :
key value? :
!
, value , , value , , . Null - . .
(square brackets):
arrays.
Array , value.
, playbook, display version:
, , :
, , - commands.
Array JSON, (string), "Huawei Versatile Routing Platform Software", , , (null) array.
, . { }curly braces - JSON object. , Python - dictionary:
- array. [ ] square brackets. list:
array object - , . .
:
Postman , . Visual Studio Code:
, { curly braces key: value. Key !
, . , value - JSON :
, … , loopback 4 loopback 5, . GigabitEthernet1:
loopback 2 loopback 3. 5 . , :
, loopback 5 , . array , :
key:value, . , :
Visual Studio code , .
...
Voila! :
key:value. : items + array, - kind + collections#interface
, - pretty JSON. : , , .
JSON . , Python , :
ENCOR 350-401 , JSON output, .
Python pretty JSON, pretty print (pprint):
, , JSON:
Ansible CloudEngine Huawei, : " - Windows Ansible. !” "- Ansible CloudEngine "