1: serialización y deserialización
Serialización:
el proceso de convertir un objeto en una secuencia de bytes.
Deserialización
: el proceso de restaurar una secuencia de bytes en un objeto.
Nota: Todas las operaciones de serialización y deserialización se basan en atributos y no tienen nada que ver con el comportamiento del tipo.
Propósito
: persistencia (la persistencia es el atributo de este tipo)
(Por ejemplo: se dejan fotos e imágenes, pero no pueden mostrar muchos eventos en crecimiento)
Lenguajes de alto nivel: orientado a objetos, orientado a procesos, basado en objetos
Formato
: xml,
Json (representa el objeto
Javascript
pero
Javascript
no tiene un nuevo lenguaje de objetos, así que se me ocurrió una cadena json)
Estructura
: estructura de par clave-valor
Ventajas:
Puede representar datos muy complejos.
2: sintaxis Json
1: signos de puntuación
{ } indica que este es un objeto de tipo
[] representa una matriz o colección
: Se utiliza para separar claves y valores.
" " se utiliza en nombres de atributos
, cada par clave-valor está separado por una coma (
el último par clave-valor no tiene coma
)
2: tipos de valores de atributos permitidos por Json
cadena √ carácter×
Número entero decimal √
booleano √
Matriz, conjunto√
Tipo personalizado√
Nota: las líneas onduladas verdes representan errores de sintaxis
3: Pequeños ejercicios (1)
Paso 1: escriba un archivo Json. Puede escribirlo primero en el texto del documento y luego cambiar el sufijo a json.
Paso 2: agregar una referencia al script C#
en
+usando Newtonsoft.Json
;
Paso 3: crea la clase
NOTA: Haga clic derecho en el archivo json y copie siempre
El archivo json y los atributos anteriores deben corresponder uno a uno
Resumen de escritura complementaria: (Primero pliegue, mire los corchetes y escriba de adentro hacia afuera)
La primera:
El segundo tipo:
El tercer tipo:
Paso 4: Análisis
Correspondiente al primer tipo anterior:
Correspondiente al segundo tipo anterior:
Correspondiente al tercer tipo anterior: [ El objeto contiene una colección, por lo que es necesario escribir otra clase]
Debido a que hay una colección, se usa stringbuilder
Aviso:
1: Clase coincidente:
Al declarar un tipo, todos los nombres de atributos en json y los nombres de atributos en la clase deben ser consistentes.
2: El método abstracto no está en la clase ordinaria y no puede coincidir con el análisis json. Utilice métodos virtuales.
4: Pequeños ejercicios (2)
Si hay un nombre de colección en el archivo:
(Nota: no todas las bibliotecas de clases pueden analizar el doble usando
float
)
1 Primero cree la clase de tanque y luego escriba una clase de clase
2Declarar una colección
Si no hay ningún nombre de colección en el archivo:
1 Primero escribe una clase de arma.
2 Almacenar directamente en la función principal