-
Cos'è JSON?
JSON (JavaScript Object Notation) è un semplice formato di scambio dati basato su un sottoinsieme del linguaggio di programmazione JavaScript.
-
Quali sono le differenze tra Java e JavaScript?
Si tratta di 2 linguaggi di programmazione diversi, nonostante la somiglianza dei loro nomi. Entrambi hanno una sintassi simile a C. Le differenze sono le seguenti:
- Java implementa un approccio OOP basato su classi, JavaScript - su prototipi;
- Java ha una digitazione statica, JavaScript ha una digitazione dinamica;
- Java viene caricato dal bytecode compilato; JavaScript viene interpretato direttamente dal file.
-
Quali sono le differenze tra JSON e XML?
JSON è un formato di scambio dati.
XML è un linguaggio di markup (in cui è possibile specificare la sintassi, la struttura, i tipi di dati e il loro modello in generale).
Entrambi possono essere utilizzati per trasferire dati. Naturalmente, per lavorare con entrambi gli standard, vengono utilizzati framework diversi e la sintassi è diversa.
-
Quali framework per lavorare con JSON conosci?
Il livello 33 ci ha introdotto al framework Jackson. Inoltre, ne fornirò altri 3 e un collegamento a un articolo in cui vengono confrontati:
- Jackson di FasterXML
- JSON.simple di Yidong Fang
- GSON di Google
- JSONP di Oracle
Confronto delle librerie Java per lavorare con JSON: JSON.simple, GSON, Jackson e JSONP
-
Quali framework per lavorare con XML conosci?
Poiché XML è un formato di rappresentazione dei dati, esistono tecnologie più diverse per lavorarci. Fornirò le tecnologie utilizzate per serializzare gli oggetti Java in XML:
- JAXB (incluso in J nel JDK)
- Xstream
Link con una breve panoramica dei vari framework per lavorare con xml: JAVA + XML
-
Quali annotazioni Jackson conosci?
Diamo un'occhiata a quelli che sono stati utilizzati nelle lezioni:
- @JsonAutoDetect : posizionato di fronte alla classe. Dice a Jackson di utilizzare i campi di questa classe durante la scrittura o la lettura. Tra parentesi è possibile impostare un parametro (fieldVisibility = JsonAutoDetect.Visibility.ANY) per configurare la visibilità dei campi che verranno utilizzati (per impostazione predefinita, vengono utilizzati solo i campi pubblici).
- @JsonIgnore : posizionato prima del campo. Dice a Jackson di ignorare questo campo durante la lettura/scrittura.
- @JsonProperty : posizionato prima del campo, getter o setter. Consente di specificare un nome di campo diverso durante la serializzazione.
- @JsonWriteNullProperties : posizionato di fronte alla classe. I campi oggetto nulli non verranno ignorati.
- @JsonPropertyOrder : posizionato di fronte alla classe. consente di definire l'ordine in cui i campi di un oggetto Java verranno serializzati su JSON.
- @JsonDeserialize - Posizionato prima del campo. Consente di definire la classe in cui viene deserializzato l'oggetto JSON. Ad esempio, in Java, gli array e gli elenchi vengono serializzati in array e durante la deserializzazione possiamo scegliere esattamente cosa vogliamo ricevere.
Ecco un collegamento a un sito con alcune annotazioni: Jackson Annotations
-
Quali annotazioni JAXB conosci?
Inoltre analizzerò solo quelli utilizzati nella lezione:
- @XmlRootElement : posizionato prima della classe. Indica che questo oggetto può essere un elemento di primo livello, ad es. tutti gli altri elementi si trovano al suo interno.
- @XmlType : posizionato prima della classe. Aggiunge ulteriori informazioni allo schema XML. Puoi specificare alcuni attributi, come l'ordine degli elementi, il nome, ecc.
- @XmlElement : posizionato prima del campo. Consente di impostare il nome dell'elemento xml, il valore predefinito, ecc.
- @XmlElementWrapper : posizionato prima del campo o getter. Consente di creare un tag di bordo per un gruppo di elementi.
- @XmlJavaTypeAdapter : posizionato prima della classe. La classe dell'adattatore ausiliario richiesta per il marshalling/unmarshalling di questa classe è indicata tra parentesi.
- @XmlEnum : posizionato prima dell'enumerazione. Tra parentesi è possibile specificare il tipo in cui verranno rappresentati i valori enum.
- @XmlEnumValue : posizionato prima del valore enum. Consente di specificare un valore speciale per un determinato valore enum.
@XmlAttribute : posizionato prima del campo. Il campo verrà rappresentato come un attributo XML. Ecco un collegamento a un sito con alcune annotazioni (mi scuso per non essere riuscito a creare una traduzione corretta per le annotazioni, le informazioni sono comprensibili, ma non ho assolutamente idea di come dirlo correttamente in russo): https: // jaxb.java.net/tutorial/index.html
-
Qual è la differenza tra serializzazione e deserializzazione in JSON?
Non ho capito l'essenza della domanda. Non vedo alcun motivo nel confrontare 2 processi reciproci. Forse questo aveva lo scopo di confrontare JSON e XML; un collegamento a questo argomento è fornito nella domanda successiva.
-
Qual è il migliore JSON o XML? Perché?
Ecco un ottimo articolo che mette a confronto JSON e XML: JSON e XML. Cosa c'è di meglio?
Forse è impossibile dire che qualcosa sia migliore. Quando scegli, dovresti considerare l'attività stessa e cosa sarà più efficace nell'uso. Inoltre, la scelta può dipendere dalle preferenze personali dello sviluppatore.
-
Cos'è il DTO?
DTO (Data Transfer Object) è un modello di progettazione contenente dati senza alcuna logica per lavorarci. I DTO vengono generalmente utilizzati per trasferire dati tra diverse applicazioni o tra livelli all'interno della stessa applicazione. Possono essere visti come un archivio di informazioni il cui unico scopo è trasmettere tali informazioni al destinatario.
domande n. 2, n. 3 corrette, secondo il commento
GO TO FULL VERSION