-
Co to jest JSON?
JSON (JavaScript Object Notation) to prosty format wymiany danych oparty na podzbiorze języka programowania JavaScript.
-
Jakie są różnice między Javą a JavaScriptem?
Są to 2 różne języki programowania, pomimo podobieństwa ich nazw. Oba mają składnię podobną do języka C. Różnice są następujące:
- Java implementuje podejście OOP bazujące na klasach, JavaScript na prototypach;
- Java ma pisanie statyczne, JavaScript ma pisanie dynamiczne;
- Java jest ładowana ze skompilowanego kodu bajtowego; JavaScript jest interpretowany bezpośrednio z pliku.
-
Jakie są różnice między JSON i XML?
JSON to format wymiany danych.
XML to język znaczników (w którym można określić składnię, strukturę, typy danych i ogólnie ich model).
Obydwa mogą służyć do przesyłania danych. Oczywiście do pracy z obydwoma standardami używane są różne frameworki i inna składnia.
-
Jakie znasz frameworki do pracy z JSON?
Poziom 33 wprowadził nas w framework Jacksona. Dodatkowo podam jeszcze 3 i link do artykułu, w którym są one porównane:
- Jacksona przez FasterXML
- JSON.simple autorstwa Yidong Fanga
- GSON od Google
- JSONP firmy Oracle
Porównanie bibliotek Java do pracy z JSON: JSON.simple, GSON, Jackson i JSONP
-
Jakie znasz frameworki do pracy z XML?
Ponieważ XML jest formatem reprezentacji danych, istnieją bardziej zróżnicowane technologie umożliwiające pracę z nim. Podam technologie używane do serializacji obiektów Java do XML:
- JAXB (zawarty w J w JDK)
- Xstream
Link z krótkim przeglądem różnych frameworków do pracy z XML: JAVA + XML
-
Jakie adnotacje Jacksona znasz?
Przyjrzyjmy się tym, które były wykorzystywane na wykładach:
- @JsonAutoDetect - umieszczony przed klasą. Mówi Jacksonowi, aby używał pól tej klasy podczas pisania lub czytania. W nawiasie można ustawić parametr (fieldVisibility = JsonAutoDetect.Visibility.ANY) umożliwiający skonfigurowanie widoczności pól, które będą używane (domyślnie używane są tylko pola publiczne).
- @JsonIgnore - umieszczony przed polem. Mówi Jacksonowi, aby ignorował to pole podczas czytania/pisania.
- @JsonProperty - Umieszczany przed polem, pobierającym lub ustawiającym. Umożliwia określenie innej nazwy pola podczas serializacji.
- @JsonWriteNullProperties - Umieszczony przed klasą. Pola obiektów o wartości null nie będą ignorowane.
- @JsonPropertyOrder — Umieszczony przed klasą. pozwala zdefiniować kolejność, w jakiej pola obiektu Java będą serializowane do formatu JSON.
- @JsonDeserialize — Umieszczony przed polem. Umożliwia zdefiniowanie klasy, do której deserializowany jest obiekt JSON. Na przykład w Javie tablice i listy są serializowane w tablice, a podczas deserializacji możemy wybrać, co dokładnie chcemy otrzymać.
Oto link do strony z pewnymi adnotacjami: Jackson Adnotations
-
Jakie adnotacje JAXB znasz?
Przeanalizuję także tylko te, które zostały wykorzystane na wykładzie:
- @XmlRootElement — umieszczany przed klasą. Wskazuje, że obiekt ten może być elementem najwyższego poziomu, tj. wszystkie inne elementy znajdują się w nim.
- @XmlType — umieszczany przed klasą. Dodaje dodatkowe informacje do schematu XML. Możesz określić niektóre atrybuty, takie jak kolejność elementów, nazwa itp.
- @XmlElement — umieszczany przed polem. Umożliwia ustawienie nazwy elementu XML, wartości domyślnej itp.
- @XmlElementWrapper — umieszczany przed polem lub getterem. Umożliwia utworzenie znacznika obramowania dla grupy elementów.
- @XmlJavaTypeAdapter — umieszczany przed klasą. Pomocnicza klasa adaptera wymagana do zestawiania/unmarshalowania tej klasy jest podana w nawiasach.
- @XmlEnum — umieszczane przed wyliczeniem. W nawiasach możesz określić typ, w jakim będą reprezentowane wartości wyliczeniowe.
- @XmlEnumValue — Umieszczony przed wartością wyliczeniową. Umożliwia określenie specjalnej wartości dla danej wartości wyliczeniowej.
@XmlAttribute — umieszczany przed polem. Pole będzie reprezentowane jako atrybut XML. Oto link do strony z pewnymi adnotacjami (przepraszam, że nie jestem w stanie stworzyć prawidłowego tłumaczenia adnotacji, informacje są zrozumiałe, ale zupełnie nie mam pojęcia, jak to poprawnie powiedzieć po rosyjsku): https: // jaxb.java.net/tutorial/index .html
-
Jaka jest różnica między serializacją a deserializacją w JSON?
Nie zrozumiałem istoty pytania. Nie widzę sensu porównywania 2 wzajemnych procesów. Być może miało to na celu porównanie JSON i XML; link do tego tematu znajduje się w następnym pytaniu.
-
Co jest lepsze JSON czy XML? Dlaczego?
Oto świetny artykuł porównujący JSON i XML: JSON i XML. Co lepsze?
Być może nie da się powiedzieć, że coś jest lepsze. Przy wyborze warto przyjrzeć się samemu zadaniu i temu, co będzie skuteczniejsze w użyciu. Ponadto wybór może zależeć od osobistych preferencji programisty.
-
Co to jest DTO?
DTO (Data Transfer Object) to wzorzec projektowy zawierający dane bez żadnej logiki umożliwiającej pracę z nimi. DTO są zwykle używane do przesyłania danych między różnymi aplikacjami lub między warstwami w tej samej aplikacji. Można je traktować jako repozytorium informacji, którego jedynym celem jest przekazanie tych informacji odbiorcy.
pytania nr 2, nr 3 poprawione, zgodnie z komentarzem
GO TO FULL VERSION