9-modul · 3-dars: JSON · Jackson

Daraja: Ilg'or

JSON · Jackson. Spring Boot bo‘yicha nazariya, amaliy namuna va mustaqil mashq.

Tushuntirish

## Dars maqsadi JSON · Jackson tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.

## Nazariya JSON matnli almashuv formatidir: object, array, string, number, boolean va null mavjud. Object kalitlari string; comment va trailing comma standart JSONga kirmaydi. Sana va binary uchun native JSON tipi yo'q, kelishilgan string format kerak. Java longning barcha qiymatlari JavaScript numberda aniq ifodalanmasligi mumkin. Jakarta JSON Processingning tarixiy JSR 353 spetsifikatsiyasi JSON-Pni ta'riflagan; uning implementationlari Jackson databind bilan bir xil API emas. Jackson streaming qatlami parser/generator, databind qatlami ObjectMapper bilan Java obyektini JSONga va aksincha aylantiradi. Core, annotations va databind rollarini ajrating; Jackson 2 va 3 paketlari bir xil emas, loyiha BOMiga moslang. @JsonProperty nomni, @JsonIgnore chiqarilmaydigan propertyni, @JsonFormat ayrim formatlarni boshqaradi. Spring MVC HttpMessageConverter orqali JSONni o'qiydi/yozadi. Noma'lum maydon, null, enum va sana uchun siyosatni test qiling. Entityni serialize qilish recursive association va maxfiy fieldlarni chiqarishi mumkin; DTO ishlating, ishonchsiz polymorphic typingni ochmang.

## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/9-module%28Spring%20Boot%29.md) [Rasmiy qo‘llanma](https://docs.spring.io/spring-boot/reference/)

Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.

Kod misoli

// Ushbu loyihadagi Jackson 3 ObjectMapper beani orqali:
record Person(String name, int age) {}
String json = mapper.writeValueAsString(new Person("Ali", 20));
Person person = mapper.readValue(json, Person.class);

Keng tarqalgan xatolar

Mashqlar

Teglar: nazariya, modul-09, pdp

Interaktiv ko'rinish (viktorina, izohlar, tarix)