14. diel - Narodeniny v C ++ - Modelová vrstva JSON - Dokončenie
V minulej lekcii, Narodeniny v C ++ - Modelová vrstva JSON - Druhá časť , sme si pripravili hlavičkový súbor triedy
PersonModel
. Dnes budeme túto triedu implementovať.
Konštruktor
Začneme konstruktoru, ktorý načíta dáta o osobách zo súboru a v prípade, že súbor zatiaľ neexistuje, napr. Bol nejakým nedopatrením zmazaný, vytvorí ukážkovú kolekciu s jednou osobou. Mám tu Friedricha Nietzscheho, ale voľba je na vás.
Najprv súboru priradíme meno z konštanty. V minulej lekcii sme si
vytvorili atribút m_isChanged
, ktorý udáva či došlo v dátach
k nejakým zmenám. Tento príznak nastavíme na false
, pretože k
žiadnej zmene v dátach zatiaľ nedošlo. Ak by sme naopak pri neexistencii
súboru tvorili novú osobu, nastavíme príznak na true
.
Ďalej prevedieme test existencie súboru a ak je k dispozícii, pokúsime sa
ho otvoriť pre čítanie ako textový súbor. Celý súbor načítame do
objektu JsonDocument
a vyhodnotíme prípadné chyby vo formáte.
Následne dokument prevedieme na pole, s ktorým budeme v modeli ďalej
pracovať, a všetky CRUD operácie (vytvorenie, čítanie, editácia,
odstránenie) budeme vykonávať práve nad týmto QJsonArray
.
Zdrojový kód implementácia bude v súčasnej chvíli nasledujúce:
...koniec náhľadu článku...
Pokračuj ďalej
Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Kúpiť tento kurz
Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel
Obsah článku spadá pod licenciu Premium, kúpou článku súhlasíš so zmluvnými podmienkami.
- Neobmedzený a trvalý prístup k jednotlivým lekciím.
- Kvalitné znalosti v oblasti IT.
- Zručnosti, ktoré ti pomôžu získať vysnívanú a dobre platenú prácu.
Popis článku
Požadovaný článok má nasledujúci obsah:
V C ++ tutoriálu dopíšeme kľúčovú časť logiky práce s JSON súbory v Qt. Pokračujeme PRIPOMIENKOVÉ narodenín.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.