El fichero detallado Yaml

1- documento presenta Yaml

  • YAML nombre completo es en realidad "YAML no es un lenguaje de marcado" (YAML no es un lenguaje de marcado) es un acrónimo recursivo, se insiste en que los propios datos, en lugar de centrarse marca
  • YAML es una muy alta legibilidad y estructuras de datos lenguaje de programación están muy cerca. Junto con una rica expresión y escalable y fácil de usar en un conjunto de datos de lenguaje de marcas.

2- reglas de sintaxis del archivo YAML

  • # Indica un comentario
  • Uso jerarquía de sangría
  • entre mayúsculas y minúsculas
  • número sangría de los espacios no es importante, siempre y cuando la izquierda los mismos elementos se pueden alinear nivel generalmente dos espacios []
  • No se permite utilizar la tecla Tab para guión sólo permite el uso del espacio

3- estructuras de datos soportados

  • Objeto: un juego de llaves, también conocida como mapeo (mapping) / hashes (hashes) / Dictionary (diccionario)
  • Matriz: un conjunto de valores están dispuestos en orden, la secuencia también conocido (secuencia) / lista (lista)
  • Escalares (escalares):, valor individual no puede ser dividida

4- tipo de datos de objeto

  1. Key-valor par, dos puntos indica.
    city: shanghai
    Formato JSON: {'city':'shanghai'}
    clave anidada:
    city: { name: shanghai, location: southeast }
    formato JSON es:{ 'city':{'name':'shanghai','location':'southeast'}}

  2. Lista
    number: [ 1,2,3]
    formato JSON: { 'lista': [1,2,3 ]}

  3. Tupla
    tuples: (1,2,3)
    JSON formato:{'tuples':'(1,2,3)'}

nota:

  • Cuando la lista de tareas, estructura de datos par clave-valor se convierte en la lista de JSON directamente cuando, utilizando diccionarios
  • Cuando el grupo de elementos de asignación, la cadena se convierte
  • El resultado final es un diccionario, puede obtener los valores de las claves correspondientes

5- array

caso:

list1:
  - 1
  - 2
  - 3

list2:
  - {key: value}
  - [1,2,3]
  - demo:
      - 1
      - 2
      - 3

list3:
  -
    - {a:b}
    - {c:d}
    - {e:f}

Convertido en la estructura JSON:

'list1':[1,2,3]
'list2':[
    {'key':'value'},
    [1,2,3]
    {
        'demo':[1,2,3]
    }
],
'list3':[
    [
        {'a':'b'},
        {'c':'d'},
        {'e':'f'}
    ]
]

6- escalar

Scalar es la más básica, el valor no se puede dividir; sustancialmente tipos de datos similares.

  • cadena
  • valor booleano
  • entero
  • flotador
  • tiempo
  • fecha
  • Nulo

Por ejemplo:

int: 12
float: 12.3
string: pets
bool: true
None: null
time: 2001-12-14t21:59:43.10-05:00
date: 2018-03-21

Convertidas en formato JSON:

{
   'int': 12, 
   'float': 12.3, 
   'string': 'pets', 
   'bool': True, 
   'None': None, 
   'time': datetime.datetime(2001, 12, 14, 21, 59, 43, 100000, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=68400))), 
   'date': datetime.date(2018, 3, 21)
}

nota :

  • ISO 8601 formato utilizado entre la hora, la fecha y la hora utilizando un conector en T, en nombre de la última utilización de la zona horaria +
  • Fecha debe estar en formato ISO 8601, es decir aaaa-mm-dd
  • tipo bool: cierto, verdadero, falso, falso lata
  • Puede ~ representar nula

7- cuerdas

cadena predeterminada sin utilizar comillas "" ''

La base del texto:
str: 字符串
formato JSON:
{'str':'字符串'}

Situaciones que requieren citas: Cuando una cadena contiene espacios o caracteres especiales
str_s: "字符串包含 空格&特殊字符!@#$%^&*()"
formato JSON:
{'str_s': '字符串包含 空格&特殊字符!@#$%^&*()'}

No comillas dobles "" escape de caracteres especiales

str1: 'test\n1'
str2: "test\n2"

formato JSON:
{'str1': 'test\\n1', 'str2': 'test\n2'}

8- conversión de tipo

Con dos de exclamación, fundido tipos de datos

is: !!str 123
sf: !!float '12.22'
si: !!int '222'

formato JSON:

{
  'is': '123', 
  'sf': 12.22, 
  'si': 222
}

Supongo que te gusta

Origin www.cnblogs.com/lemanlai/p/12511255.html
Recomendado
Clasificación