20251030 JSON_2 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
instituto tiene
00:00:00
nombre y localidad
00:00:05
y ya está, eso tiene instituto
00:00:07
unos get y set
00:00:10
y ya está
00:00:29
y nos falta módulo solamente
00:00:30
bueno
00:00:42
que módulo tenía solamente
00:00:47
nombre y nota, verdad
00:00:51
nombre y nota, ya está
00:00:52
ay
00:00:55
perdón, perdón
00:00:55
Venga, por variar
00:01:16
Que es que tanto primitivo
00:01:21
Que usamos por comodidad, no pasa nada
00:01:22
Pero normalmente siempre se suele usar el envolvente
00:01:24
En las aplicaciones
00:01:27
Entonces
00:01:28
¡Hala!
00:01:28
Ya tenemos todas las clases
00:01:38
Del modelo a falta de la lista
00:01:40
Ya está
00:01:43
Entonces vamos a hacer
00:01:49
Un pequeño main
00:01:53
Aquí no es
00:01:55
Mira que menos mal
00:02:01
Que estás pendiente
00:02:03
Esto si lo he hecho en el sitio correcto, ¿no?
00:02:04
Sí
00:02:06
Vale
00:02:06
Ay, perdón
00:02:08
Estoy
00:02:18
¿Qué?
00:02:19
¿Qué?
00:02:22
¿Qué pasa hoy?
00:02:23
Pues no pasa nada
00:02:27
¿Vosotros?
00:02:28
¿Qué pasa?
00:02:33
Que lo hacéis todo siempre
00:02:35
A lo mejor es porque tenéis muy pocas cosas en la cabeza
00:02:37
Cuando tengáis muchas
00:02:41
¿Eh? ¿Eh?
00:02:42
Ahí la he soltado
00:02:48
Vale, pues sabes cuando vamos a poner a prueba
00:02:54
A ver si esa dependencia tan rara
00:02:57
Que hemos cogido
00:03:00
Realmente es buena o no es buena
00:03:01
Vale
00:03:02
Vamos a
00:03:04
Leer nuestro fichero JSON para hacer cosas con él
00:03:06
Para modificarlo o lo que sea
00:03:10
Entonces aquí
00:03:12
El objeto clave
00:03:13
De JSON es este
00:03:17
El object mapper
00:03:19
¿Vale?
00:03:21
Este es el objeto
00:03:25
clave, y a ver
00:03:27
porque si no me deja importar el object mapper
00:03:30
ya es cuando la hemos
00:03:32
vale, pues efectivamente es que esa dependencia
00:03:33
a mi se me ha hecho muy chunga
00:03:36
desde el principio
00:03:38
porque nuestro object mapper
00:03:39
este de aquí
00:03:42
es de aquí, y es que esto
00:03:45
yo no lo he visto en esa dependencia
00:03:49
entonces
00:03:51
a ver un momentito
00:03:52
¿Cómo que hemos metido el core?
00:03:55
¿Cómo que hemos metido el core?
00:04:03
Es Jackson Database
00:04:07
Sí, pero
00:04:09
Nosotros hemos metido la del core
00:04:09
Vale, efectivamente
00:04:12
Porque
00:04:13
Jackson Database
00:04:15
Vale, sí, sí, la que tengo yo aquí es esta
00:04:19
Efectivamente
00:04:21
Vale, pues entonces
00:04:21
ya nunca jamás se nos olvida
00:04:24
y menos en un examen, ¿verdad?
00:04:26
uy, cuidado que esta no es
00:04:28
venga, pues a ver, nos vamos al
00:04:29
¿qué cosa ha pasado?
00:04:32
que la primera que nos ofrecía
00:04:33
era la que teníamos que habernos quedado
00:04:36
¿vale?
00:04:38
venga
00:04:40
vale, pero aquí vosotros
00:04:40
teníais la pista
00:04:46
porque yo he abierto el otro proyecto
00:04:48
y ahí ponía la dependencia de Atabay
00:04:51
normalmente uno no la tiene, entonces, ¿qué es lo que ocurre?
00:04:52
que prueba y prueba y prueba y prueba
00:04:55
Hasta que encuentra una que es
00:04:56
Claro, cuando nada
00:04:59
Desde la nada, en cero
00:05:01
Normalmente uno está con proyectos
00:05:04
Que ya están hechos
00:05:06
Que tú ya empiezas a mantener
00:05:07
Entonces ya tienen todas sus dependencias puestas
00:05:09
Venga, vamos
00:05:12
Esta nos gusta
00:05:14
¿A qué le doy? ¿Dónde?
00:05:15
¿A qué le doy?
00:05:24
sí, o sea, le he dado
00:05:26
aquí, me ha sacado
00:05:29
todo el listado
00:05:32
y le he dado aquí
00:05:33
y ahora
00:05:36
no
00:05:38
vale
00:05:46
pues venga, esta dependencia
00:05:49
no nos gusta
00:05:52
nos gusta esta
00:05:55
Lo de las herramientas sonaba raro
00:05:56
Siempre suelen ser cosas complementarias
00:06:01
A ver, quitamos el 40
00:06:03
Ah, no, pero aquí tienes herramientas también
00:06:05
Vale
00:06:07
A ver, no te va a molestar
00:06:07
Pero bueno
00:06:14
Vale, entonces
00:06:15
Tenéis que seguir
00:06:17
Vale, a ver
00:06:22
Yo he empezado a leer el objeto JSON
00:06:23
Entonces, he dicho
00:06:26
el objeto clave
00:06:28
que lo hace todo con Jackson
00:06:30
es ObjetMapper
00:06:32
yo lo he instanciado
00:06:33
este fíjate como un constructor
00:06:36
se le ve viejuno, pero no lo sé, no lo ha quitado
00:06:38
no tiene ni factoría, ni tiene nada
00:06:40
vale, entonces al escribirlo
00:06:42
he dicho, uy
00:06:44
no está en la dependencia que yo he puesto
00:06:45
cosa que te va a pasar millones de veces
00:06:48
no lo está, debe ser que no he puesto
00:06:50
la dependencia correcta
00:06:52
entonces nos hemos vuelto
00:06:54
al Maven Repository
00:06:56
Nos hemos vuelto al maven repository
00:06:57
En el que cuando habíamos puesto Jackson
00:07:00
Nos había salido esto
00:07:04
Y yo antes había seleccionado esta, la core
00:07:07
Pues resulta, va a ser que
00:07:10
Perdón, esta, la core
00:07:12
Va a ser que la core no es
00:07:14
Porque no me lo he encontrado
00:07:15
Con lo cual nos vamos a la primera
00:07:17
Entonces, he entrado aquí
00:07:19
Me he cogido
00:07:21
Bueno, este artefacto se ha movido a no sé qué
00:07:22
Pues venga, me voy a donde se ha movido
00:07:26
Ah, ya estamos aquí otra vez
00:07:28
Jackson DataBind
00:07:33
Y ahora me he quedado con la última versión
00:07:34
Aquí he copiado esto
00:07:37
Y lo he sustituido en mi POM
00:07:40
Ya está, ¿vale?
00:07:42
Bueno
00:07:45
Lo he sustituido en mi POM
00:07:45
Y ahora vamos a verificar
00:07:49
Que las dependencias que ha importado
00:07:52
Ya suenan mejor
00:07:57
Me voy otra vez a
00:07:58
Joder
00:08:03
Que se cierre aquí
00:08:04
Me voy aquí
00:08:06
Jackson DataBind
00:08:07
Aquí ya aparecen más cositas
00:08:09
No es que no me interese
00:08:12
O sea, es que me faltaban cosas
00:08:16
El Core, de hecho, el DataBind depende del Core
00:08:17
Por eso, poniendo el DataBind
00:08:20
Ya tira el del Core, por eso me lo ha metido
00:08:22
Vale, entonces, ahora ya sí
00:08:24
Vamos a ver si me ofrece el mapper
00:08:26
Y ahora ya sí
00:08:28
Vale
00:08:31
Y ahora
00:08:34
El objeto de este object mapper
00:08:37
Vamos
00:08:39
De todo
00:08:40
Miles y millones
00:08:42
De cosas, a mogollón
00:08:45
Vale, ya sabéis que esto
00:08:47
Está aquí, nosotros vamos a hacer lo básico
00:08:49
Vamos a ir al JSON
00:08:51
Vamos a
00:08:52
De la manera
00:08:53
De todas las maneras que hay
00:08:56
Un poquito quizá la más clara
00:08:58
Vale, pues el mapper
00:09:00
Tiene un método
00:09:02
Que es el reactree
00:09:04
Y tú le pasas un fichero
00:09:06
Ay, le voy a hacer un método aparte, por Dios
00:09:11
Estatic
00:09:13
En este método, ¿qué vamos a hacer?
00:09:16
Vamos a devolver
00:09:18
El objeto alumno
00:09:20
Correspondiente al json
00:09:22
Leer
00:09:24
JSON
00:09:28
Y le vamos a pasar un fichero file
00:09:29
Este va a ser mi método
00:09:32
Con lo cual esto se queda aquí
00:09:36
Venga
00:09:38
Importamos alumno
00:09:43
Vale, entonces
00:09:45
El mapper, que es el que lo hace todo
00:09:49
Dime
00:09:52
Sin funcionar
00:09:52
¿A qué le llamas no funcionar?
00:09:55
¿Que no te hace el import?
00:09:56
Pues eso, que no te ofrece un import
00:10:00
Pero tú tienes esta dependencia puesta
00:10:02
Aquí
00:10:05
O sea, el POM está correcto
00:10:06
Y cuando tú abres
00:10:11
Las maven
00:10:15
Dependencias
00:10:17
Pues entonces
00:10:18
Es que tu POM no está bien
00:10:21
Lo has guardado
00:10:22
Está guardado
00:10:25
Y no te aparece
00:10:26
Es que si no la aparecería en rojo
00:10:28
No te aparece nada en rojo
00:10:31
Y no aparece en rojo
00:10:32
La primera vez que
00:10:36
Ah, pues sí, tiene razón
00:10:41
Vale, vale, sí, sí, sí, sí
00:10:45
Tenéis razón
00:10:49
Vale
00:10:49
¿Tienes
00:10:51
Metido
00:10:57
En
00:10:59
Pues ya nos has dejado
00:11:00
Vale, bueno
00:11:09
Pues vamos a comprobar
00:11:13
Que se ha leído bien
00:11:15
entonces
00:11:16
new file
00:11:17
alumno.json
00:11:27
que estaba en el raíz, por eso lo pongo ahí
00:11:30
y a este
00:11:32
leer json
00:11:34
pues lo
00:11:35
ya está
00:11:37
vamos a ver si realmente
00:11:40
me lea al alumno
00:11:42
entonces
00:11:44
voy a ponerle un toString a alumno
00:11:46
para que
00:11:50
me lo muestre bien
00:11:51
Vamos a ponerle un toString
00:11:53
Sin los módulos
00:11:57
Ala, ya tiene un toString
00:12:03
Vale
00:12:08
Vamos a ver si al menos esto
00:12:11
Lo tenemos sin problema
00:12:14
Y no
00:12:16
A ver, mi JSON está mal
00:12:21
No es el vuestro
00:12:35
Porque me dice que no se esperaba esto
00:12:36
Vamos a ver
00:12:38
Mi JSON está mal
00:12:40
Vamos
00:12:43
¿Dónde tengo dos llaves?
00:12:44
Que ya me estoy volviendo loca
00:12:55
Ah, vale
00:12:56
Vale
00:12:58
Vale
00:13:00
Pero
00:13:02
Conclusiones que sacamos de esto
00:13:03
Que decimos mil veces
00:13:06
Que ya decíamos el año pasado
00:13:07
A ver
00:13:09
Siempre se lee esto
00:13:10
Normalmente lo que te dicen
00:13:13
Estas letras rojas
00:13:16
Te da la solución directamente
00:13:17
Normalmente lo que te dicen
00:13:20
Entonces, acostumbrados a leer eso
00:13:21
¿Vale? Acostumbrados siempre a leer eso
00:13:24
Decís, uy, no me funciona
00:13:26
Aquí está la solución siempre
00:13:27
Vale, pues venga, lo vuelvo a intentar
00:13:28
Vale, ya está
00:13:31
Vale, entonces realmente podríamos pasar
00:13:36
De Jackson porque ya lo tengo en un objeto
00:13:39
Y ya está, pero algunos métodos para navegar
00:13:40
Un poquito y para algo vamos a ver
00:13:42
Como completitud y listo
00:13:44
Pero antes de eso
00:13:46
Si yo lo que quiero es escribir en un fichero
00:13:49
Bueno
00:13:51
Pues lo puedo poner aquí, ya está
00:13:52
Aquí que le pasaría
00:13:55
Pues le paso mi objeto alumno
00:14:07
Vale
00:14:09
Y aquí el
00:14:11
Mapper tiene un método
00:14:15
Pero este ya encontrarlo
00:14:17
Yo que sé, porque es súper largo
00:14:19
Entonces lo tengo que tener
00:14:20
Por aquí en algún sitio
00:14:23
aquí, este
00:14:25
writer with default para que quede bonito
00:14:28
vale, pues
00:14:31
nos vamos al mapper, punto
00:14:33
como es escribir, w
00:14:35
a ver
00:14:36
ay, que no me he hecho el object mapper, jolines
00:14:38
y ahora
00:14:41
mi mapper tiene
00:14:49
un writer
00:14:51
pero para que quede bonito
00:14:52
pues vamos a buscar
00:14:56
este
00:14:58
el writer
00:14:58
con
00:15:00
el impreso bonito
00:15:03
este de aquí, este me devuelve un
00:15:05
writer y el writer ya es
00:15:07
el que escribe
00:15:09
vale, write value
00:15:10
entonces, write value
00:15:13
pues este de aquí, de todos los que
00:15:15
me ofrece, pues este que escribe un
00:15:17
fichero, pero como veis hay millones
00:15:19
de posibilidades, escribir
00:15:21
a otro stream
00:15:23
a un par por supuesto
00:15:24
esto es
00:15:26
un mundo interminable
00:15:29
vamos a escribirlo al fichero
00:15:30
al fichero, aquí se ponía el fichero
00:15:32
no se lo he pasado
00:15:39
como parámetro, perdón
00:15:40
entonces aquí le pasaríamos
00:15:42
el fichero y aquí el objeto
00:15:44
y este ya
00:15:47
escribir
00:15:52
json
00:15:55
claro
00:15:55
lo limpia de nuevas, con lo cual
00:15:59
vamos a hacer alguna modificación para asegurarnos
00:16:00
que
00:16:03
que
00:16:04
está escribiendo el bueno, alumno a
00:16:08
y ahora a igual a
00:16:12
leer json y ahora
00:16:16
a.set nombre, yo le voy a cambiar
00:16:20
el nombre, vale, y ahora ya me voy a hacer
00:16:24
escribir json
00:16:31
a mi new file
00:16:35
A mi new file y mi objeto
00:16:40
A
00:16:53
Vale, y escribir json
00:16:54
Ah, los he puesto en el orden
00:16:58
Que no es, primero era el fichero
00:16:59
Ala, si cojo
00:17:02
Mi json que está aquí
00:17:17
Pues
00:17:19
Ah, este, vale
00:17:21
Entonces, como veis
00:17:25
Lo pone en orden alfabético
00:17:31
Vale
00:17:34
entonces
00:17:35
también existen anotaciones
00:17:38
para cambiar cosas aquí
00:17:40
yo aquí no he anotado nada
00:17:42
en mi clase alumno
00:17:44
no he anotado nada
00:17:46
pero por ejemplo, imaginaos
00:17:47
que el instituto, aquí se llama instituto
00:17:50
pero yo quiero
00:17:52
que en el JSON se llame de otra manera
00:17:54
pues hay una anotación
00:17:56
que es JSON property
00:17:58
¿vale?
00:18:00
que sería como el XL element
00:18:04
¿vale?
00:18:07
No, en la propiedad aquí no se llama nombre, el atributo name is undefined
00:18:13
¿Cómo se llamaba esta propiedad?
00:18:18
No, se llama de otra manera, ahora la miro
00:18:23
¿Puedo ir a dónde?
00:18:25
Al main aquí
00:18:26
O sea, en el system out lo he guardado una variable a la vez que lo he...
00:18:30
¿En escribir?
00:18:40
el mapper
00:18:42
le llamo a este método que me crea el
00:18:44
writer y el writer ya llama el método
00:18:46
de escribir
00:18:48
vale
00:18:49
entonces la propiedad
00:18:51
del json property
00:18:54
en lugar de buscarla
00:18:56
yo en mis proyectos vamos a hacer
00:18:58
lo que hacéis
00:19:00
vosotros habitualmente y así nos
00:19:01
acostumbramos a ver si nos dice algunas cosas
00:19:04
mal, vamos a preguntarle
00:19:06
a este que va a ser lo que hagáis habitualmente
00:19:08
En JSON
00:19:10
Value, ya lo has mirado tú
00:19:13
Ah, vale, vale
00:19:15
Y te ha ofrecido eso, ¿verdad?
00:19:17
Pero vamos a ver
00:19:19
Piedad del nombre
00:19:20
Lo que yo quiero es ver cómo se mueven
00:19:28
Estas leads, ¿vale?
00:19:31
Que en esto no le he probado mucho
00:19:33
Value, muy bien, ¿vale?
00:19:35
Pues se mueve bien
00:19:39
Venga
00:19:39
Ah, vale, vale, pero no hace falta que pongas
00:19:41
value, pones esto directamente
00:19:45
y ya está, vale, pues mirad
00:19:47
mucho más bonito
00:19:49
entonces en alumno
00:19:50
esto no tengo
00:19:53
ni que ponerlo, la duda
00:19:55
es, si pongo value, me lo coge
00:19:57
igual, sí, pero no hace falta
00:19:59
ponerla, vale
00:20:01
es el valor por
00:20:02
defecto de la anotación, vale, entonces
00:20:05
que yo
00:20:07
pero
00:20:08
namespace sería otra
00:20:11
namespace indica otra cosa
00:20:12
namespace indica otra cosa
00:20:16
vale, la que indica
00:20:18
el nombre de la propiedad es esta
00:20:20
vale, entonces
00:20:21
si queremos cambiar el orden, dime
00:20:23
porque luego esto, cuando va a leer
00:20:26
el JSON y cargar los datos, va a buscar
00:20:28
como centro
00:20:30
como centro
00:20:31
claro, él va a buscar en el JSON
00:20:32
va a buscar algo que se llame centro
00:20:36
para cargarlo en la variable instituto
00:20:37
es decir, en mi JSON
00:20:39
para que ahora esto funcione
00:20:42
esto tendría que llamarlo centro
00:20:43
si no, no va a funcionar, no va a parsear correctamente
00:20:46
vale, si yo lo he cambiado
00:20:48
ahora esto de aquí
00:20:50
se va a tener que llamar centro
00:20:51
si queremos leerlo
00:20:54
correctamente, vale, entonces
00:20:56
de hecho si lo volvemos a
00:20:58
a ejecutar
00:20:59
vale, nuestro main
00:21:01
que es este, vale
00:21:04
pues lo ha leído correctamente, lo ha cargado en instituto
00:21:09
y lo ha
00:21:11
guardado, entonces
00:21:13
Que queremos otro orden
00:21:14
¿Propiedad para cambiar el orden?
00:21:16
No lo sé, vamos a preguntársela
00:21:18
Anotación
00:21:20
Para fijar orden
00:21:25
Jason Jackson
00:21:29
A ver si le entendemos
00:21:31
Jason Properties, como no podía ser de otra manera
00:21:34
¿Verdad? Tiene toda la pinta
00:21:44
Vamos, que nos podíamos esperar
00:21:45
Eso de ahí
00:21:47
¿Vale? Muy parecido al XML
00:21:48
como vemos
00:21:51
vale
00:21:52
bueno pues que fácil es el mundo ahora
00:21:54
cuando le podemos preguntar a este
00:22:02
pero nosotros sabemos
00:22:04
de partida
00:22:06
porque si no nos la cuela por todos lados
00:22:07
vale en nuestro caso
00:22:10
el orden va a ser
00:22:12
nombre
00:22:13
instituto y módulos
00:22:15
no lo sé vamos a probarlo
00:22:18
yo creo que tienes que poner
00:22:22
aquí la propiedad
00:22:24
eso es lo que a mi me saldría
00:22:26
Lo que a mí me saldría
00:22:27
¿Vale?
00:22:29
Pero si lo hacemos
00:22:32
Nos da error y tenemos que cambiarlo
00:22:33
Entonces ya sí que nunca se nos va a olvidar
00:22:35
¿Vale? Nunca se nos va a olvidar
00:22:36
Si lo hacemos y no has dado error
00:22:39
Si os lo digo yo, pues
00:22:40
Sí que se nos olvida
00:22:43
Vale, vamos a hacerlo así de esta manera
00:22:44
A ver si
00:22:47
Me lo genera ahora ya en el orden correcto
00:22:49
¿Vale?
00:22:51
Nuestra intuición era correcta
00:22:58
¿Ah sí?
00:23:00
Pues mira, lo ha hecho toda para...
00:23:02
Tiene la filosofía de Python este.
00:23:05
Lo pongo fácil. Permito que cuele lo que sea.
00:23:06
Vale, pues yo la otra nunca la había probado.
00:23:09
Nunca había probado
00:23:11
poniendo...
00:23:12
Por extensión a XML siempre
00:23:14
ponía la propiedad y ya está.
00:23:16
Vale, pero...
00:23:19
¿Eh?
00:23:20
Igual, al no encontrarlo
00:23:22
también lo pone como orden alfabético.
00:23:24
Y a lo mejor por eso no ha funcionado.
00:23:26
Pero en tu caso el orden alfabético
00:23:28
no sería el mismo.
00:23:30
Pero, a ver
00:23:31
Claro, pero a ti te ha puesto
00:23:34
el
00:23:41
Puede que es que le valgan
00:23:42
las dos, no lo sé
00:23:55
No lo sé, tendríamos que
00:23:56
Vale, pero bueno
00:23:57
Vale, magnífico
00:23:58
Pues
00:24:02
O algo está mal
00:24:06
Aquí estamos, vale
00:24:12
En este caso, como es un array
00:24:18
Puedo iterar por él
00:24:20
O puedo verificar antes si es un array
00:24:21
Por ejemplo, así
00:24:25
Hay un montón de posibilidades y de cosas para jugar
00:24:26
Aquí habrá, veis
00:24:28
Por ejemplo, si es un array
00:24:30
Que en este caso ya sabemos que lo es
00:24:32
Pero bueno, si es un array
00:24:33
pues podemos convertirlo
00:24:35
a una lista que tiene un convert
00:24:37
por ahí e iterarlo como lista
00:24:39
o iterar directamente en él
00:24:41
también, también podemos iterar
00:24:43
en él y
00:24:45
de hacer esto, pues para cada
00:24:47
JSON
00:24:49
no de módulo
00:24:51
que está en
00:24:53
módulos
00:24:55
¿verdad?
00:24:56
para
00:25:01
variable local módulo está duplicada
00:25:02
Ah, claro, porque es esta de aquí, nombre módulo
00:25:06
M, lo vamos a llamar, vale
00:25:08
Pues ahora, ahora estoy iterando
00:25:10
Por todos los nodos
00:25:12
Que cuelgan de ese array
00:25:14
¿Qué cuáles son? Cada uno de estos
00:25:15
Cada uno de estos
00:25:18
Van a ser cada uno de estos
00:25:19
Vale, pues ¿qué quiero con ellos?
00:25:22
Encontrar su nombre
00:25:25
Si el nombre es el que me han dicho
00:25:26
Ya tengo la nota, vale
00:25:27
Pues por ejemplo podría hacerlo así
00:25:30
Si m.find
00:25:31
value nombre
00:25:36
exacto
00:25:39
punto equals
00:25:42
el módulo que me han dado
00:25:44
pues estoy
00:25:46
en el nodo correcto
00:25:48
y aquí ya podría hacer
00:25:50
perdonadme esto
00:25:52
pero
00:25:54
me pueden las ganas
00:25:55
find
00:25:58
value
00:26:00
nota
00:26:01
¿vale? pero claro
00:26:06
el return me está dando
00:26:09
un problema, porque el findValue
00:26:11
me devuelve siempre un JSON
00:26:13
node, entonces en este caso
00:26:15
el JSON node que me devuelve
00:26:17
es esto, un numerito
00:26:18
¿habrá algún método para convertirlo?
00:26:20
¿vale?
00:26:25
¿vale?
00:26:26
entonces as int
00:26:27
pues venga, como int
00:26:28
ala, ya está
00:26:30
¿vale?
00:26:31
claro, también tiene métodos, JSON node
00:26:34
tiene métodos isInteger
00:26:36
is no sé qué, entonces tú puedes hacer previamente
00:26:38
una validación, if isInteger
00:26:40
asint, si es décima
00:26:42
las décima, las double, lo que sea
00:26:44
vale, es que tiene un montón de
00:26:46
vale, pues este método ya estaría
00:26:48
con este return aquí dentro del for, que sí
00:26:50
que ya sé que es muy feo y muy horroroso, pero bueno
00:26:52
y si no llega a salir
00:26:54
nunca por aquí, me devolverá null
00:26:56
vale
00:26:58
un método muy feo, pero
00:26:59
nos ha servido como ejemplo
00:27:02
para ver un poquito las posibilidades de esto
00:27:04
Las clases básicas y ya está
00:27:06
¿Cómo que módulo no existe?
00:27:08
¿Módulos es la clave esta?
00:27:13
¿Módulos?
00:27:15
Claro, pero has puesto módulo
00:27:16
¿Dónde he puesto módulo?
00:27:17
Como parámetro que te da
00:27:21
Claro, pero porque este es este
00:27:22
Perdón
00:27:25
Es lo que acabo de hacer
00:27:29
A ver, aquí, fijaos
00:27:34
esto no ha sido a propósito, pero nos viene
00:27:44
maravilloso para
00:27:46
familiarizarnos con las situaciones
00:27:47
aquí no me ha salido error de compilación
00:27:49
pero me ha salido un aviso
00:27:52
del plugin este, que no me acuerdo como se llama
00:27:56
el que te pone las cosas en azul o en verde
00:27:58
este como se llama, sonar o algo así
00:28:00
no lo sé, entonces este
00:28:02
porque
00:28:04
el amarillo son los warning
00:28:06
vale, conviene mirarlos, el rojo lo tenemos claro
00:28:07
este es el
00:28:10
sonar, creo que se llama sonar ese
00:28:12
plugin por dentro, que te avisa
00:28:14
de, ostras, que mosqueé
00:28:16
antes esto. Me mosqueé un
00:28:18
huevo. Entonces, vamos
00:28:20
a hacerle caso. A ver qué me dice. Porque muchas
00:28:22
veces, efectivamente, nos recuerda
00:28:24
que se nos ha olvidado una cosa como a mí se me
00:28:26
ha olvidado aquí. ¿Qué me está diciendo
00:28:28
este plugin de aquí?
00:28:30
¿Cómo que no se ha relacionado?
00:28:33
Me está diciendo...
00:28:34
Uy, cuidado, el equals
00:28:36
compara object con object, lo que sea.
00:28:37
Pero, ¿tú crees que estás
00:28:41
comparando un string con este
00:28:42
string y cuidado que esto no es un string.
00:28:44
¡Claro! Es que esto es un JSON
00:28:46
node. Se me ha olvidado.
00:28:48
Este JSON node, ahora ya pasarlo
00:28:50
a texto. ¿Habrá algún
00:28:52
método para pasarlo a texto?
00:28:54
Pues, ¡uh!
00:28:56
¿Vale?
00:28:58
Punto as
00:29:00
as, as, as, as
00:29:01
as, as, as, as, as
00:29:03
as, as, as, as
00:29:06
text.
00:29:07
¿Eh?
00:29:09
AsStream
00:29:12
Vale
00:29:13
AsText era la versión anterior
00:29:15
Nos hemos ido, pues mirad
00:29:17
En junio sí valía AsText, ahora en octubre ya no
00:29:19
A ver, Valer, vale, lo que pasa es que ya está deprecada
00:29:22
Vale, eso
00:29:24
Ahora ya sí, ya el sonar se ha quedado
00:29:25
Tranquilo, menos mal, porque esto hubiera sido
00:29:28
Un error grande
00:29:30
Vale, pues venga
00:29:31
Probamos esto
00:29:37
Y nos vamos al recreo
00:29:38
Vale
00:29:40
A nuestro alumno
00:29:43
Vamos a mostrar
00:29:45
Get nota
00:29:48
De nuestro new file
00:29:51
Del módulo acceso a datos
00:30:01
Un 10
00:30:05
De que si
00:30:12
Pues ahora
00:30:13
Ahora ya si que nos vamos al recreo
00:30:18
- Materias:
- Programación
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado superior
- Segundo Curso
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 29
- Fecha:
- 31 de octubre de 2025 - 12:28
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 30′ 20″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 146.73 MBytes