how create json structure using c
Vytvorenie štruktúry JSON (časť 2):
V našom predchádzajúcom tutoriáli sme diskutovali vytvorenie jednoduchého súboru JSON pomocou vzorových množín údajov .
Tiež sme sa dozvedeli podrobnosti o použití rámca json.Net na serializáciu údajov do formátu JSON. Využili sme C # a Visual Studio na vytvorenie jednoduchej konzolovej aplikácie na použitie nami poskytovaných údajov a kľúčových hodnôt a potom sme tieto kľúčové hodnoty serializovali do štruktúry JSON. Teraz sa pozrime, čo bude tento výukový program obsahovať, keď budeme napredovať.
V tomto tutoriáli sa budeme zaoberať spôsobmi, ako vytvoriť zložitejšiu štruktúru JSON. Vytvoríme polia s viacerými množinami údajov a tiež sa pozrieme na spôsoby, ako vytvoriť vnorenú štruktúru v JSON.
Väčšina súborov JSON používaných na prenos údajov medzi rôznymi systémami obsahuje zložitejšie dátové štruktúry. Takto vám učenie o zložitej štruktúre JSON pomôže pri vytváraní testovacích údajov na základe požiadaviek schémy JSON.
Čo sa dozviete:
- Písanie kódexu
- Pridanie poľa s viacerými dátami do JSON
- Pred priradením ku kľúčom JSON vykonajte operácie s údajmi
- Vytvorenie vnorenej štruktúry JSON
- Použitie hárku Excel ako zdroja údajov pre JSON
- Záver
- Odporúčané čítanie
Písanie kódexu
V tomto tutoriále odkazujeme na náš predchádzajúci príspevok. Preto by som navrhol, aby si každý najskôr prečítal predchádzajúci návod, až potom pokračoval v tomto.
Budeme používať rovnaké údaje JSON, ktoré sme použili v našom predchádzajúcom tutoriáli. Ďalej budeme sledovať rovnakú sadu kódu, ktorú sme napísali pre náš predchádzajúci príklad JSON.
Začnime teraz. !!
Pridanie poľa s viacerými dátami do JSON
Ak chcete do poľa JSON pridať pole, pridajme kľúč poľa do našej predchádzajúcej množiny údajov.
Náš súbor údajov bude uvedený nižšie:
Pridanie objektu poľa do súboru JSON je podobné ako pridanie akýchkoľvek ďalších kľúčových hodnôt. Hodnoty je možné priradiť priamo v čase deklarácie samotného poľa. Po priradení hodnôt k poľu bude JSON newtonsoft objekty serializovať do párov kľúč - hodnota.
Ak chcete pridať pole do súboru JSON, deklarujeme ho v „Zamestnanec“ samotná trieda. (Podrobnosti nájdete v našom predchádzajúcom návode)
namespace jsonCreate { class Employee { public string FirstName = 'Sam'; public string LastName = 'Jackson'; public int employeeID = 5698523; public string Designation = 'Manager'; public string[] KnownLanguages = { 'C#', 'Java', 'Perl' }; } }
Ako vidíte, priamo sme deklarovali Array v triede Employee. V hlavnej metóde nerobte žiadne zmeny. Vytvorenie inej triedy pre objekt JSON nám pomôže udržiavať objekty usporiadané.
Kedykoľvek dôjde k zmenám v štruktúre JSON alebo ak chcete pridať ďalšiu množinu údajov, je potrebné vykonať zmeny iba v danom konkrétnom súbore triedy a nie v celom projekte. To znamená, že vaša metóda Main zostane po väčšinu času rovnaká a zmeny sa udejú iba vo vnútri tried.
Vykonajme program a vytvorme náš súbor JSON s poľom.
Teraz skopírujte obsah a prilepte tu na overenie, či je vytvorený JSON platný alebo nie.
Klikni na Overte JSON tlačidlo na jeho potvrdenie. Usporiadajú sa páry kľúč - hodnota JSON a na danom súbore údajov sa vykoná validácia.
Pred priradením ku kľúčom JSON vykonajte operácie s údajmi
Predpokladajme, že máme nejaké údaje a chceme s nimi urobiť nejakú operáciu, skôr ako ich priradíme ako hodnoty ku kľúčom JSON.
Ako to v takom prípade urobíme?
Napríklad: Povedzme, že ID zamestnanca, ktoré sme odovzdali do JSON, je zložené z dvoch častí, prvé tri písmená označujú kód polohy a posledné 4 číslice označujú číslo zamestnanca. Zreťazením oboch získate identifikačné číslo zamestnanca.
V prípade, že dostaneme kód umiestnenia a číslo zamestnanca osobitne, budeme ich musieť spojiť dohromady a vytvoriť identifikačné číslo zamestnanca. Iba potom to môžeme odovzdať cez JSON.
Aby sme prekonali tento typ scenárov, je potrebné vykonať operácie s údajmi skôr, ako ich priradíme ku kľúču.
Pozrime sa, ako to možno urobiť.
Vráťme sa k našej triede zamestnancov a vytvorme ďalšiu triedu, v ktorej budeme vykonávať všetky operácie.
Tu vytvoríme ďalšiu triedu, ktorá bude obsahovať a vykonávať operácie s údajmi o zamestnancoch.
Poďme vytvoriť novú triedu „EmployeeData“.
Trieda bola vytvorená. Teraz vytvorme metódu so špecifikátorom verejného prístupu a návratovým typom ako naša trieda „Zamestnanec“. Názov metódy sme uviedli ako „EmployeeDataOps“ . Môžete však uviesť svoje meno. Aby som to zjednodušil, neposielam v rámci tejto metódy žiadny parameter.
Keď sme návratový typ opísali ako triedu, budeme musieť vrátiť inštanciu triedy Employee. Aby sme to dosiahli, vo vnútri metódy vytvoríme objekt triedy.
Tu sme vytvorili objekt pre triedu Employee s názvom EmpObj a na konci metódy sme vrátili objekt.
Definujme dve celé čísla vo vnútri triedy EmployeeData predstavujúce úplný kód umiestnenia a číslo zamestnanca. Po deklarácii ho použijeme na vykonávanie operácií a potom na priradenie hodnôt k príslušným klávesom.
int locationCode = 569; int employeeNumber = 8523;
Teraz, keď máme kód umiestnenia a číslo zamestnanca, môžeme na nich vykonávať operácie, aby sme našli ID zamestnanca. Za týmto účelom napíšeme jednoduchý kód na zreťazenie oboch celých čísel.
int empID = int.Parse(locationCode.ToString() + employeeNumber.ToString());
Toto jednoducho zreťazí obe celé čísla tvoriace ID zamestnanca. ID zamestnanca sme uložili pod premennou „EmpID“ , a teraz túto premennú odovzdáme výrazu „employeeID“ v EmpObj.
Employee EmpObj = new Employee(); EmpObj.employeeID = empID; return EmpObj;
Celý vzorový kód bude vyzerať takto:
typ testovania v softvérovom inžinierstve
Všimli ste si, že sme odstránili hodnotu, ktorú sme predtým priradili premennej employeeID v triede Employee? Urobili sme to, pretože vraciame hodnotu z EmployeeDataOps () metóda. Preto budú údaje do premenných poskytované z tejto metódy samotnej. Tým sa odstráni nutnosť priameho deklarovania hodnôt.
najlepší bezplatný softvér na klonovanie pevných diskov za rok 2017
Keď už sme s touto metódou hotoví, budeme musieť do hlavnej metódy pridať inštanciu tejto metódy, aby bolo možné túto metódu nazvať.
Za týmto účelom vytvoríme ďalší objekt triedy v hlavnej metóde pre „EmployeeData“ trieda.
EmployeeData empData = new EmployeeData();
Po vytvorení objektu triedy teraz priradíme metódu v tejto triede k objektu Emp, ktorý sme predtým vytvorili pre triedu zamestnancov.
emp = empData.EmployeeDataOps();
Nakoniec bude kód vo vnútri hlavnej metódy vyzerať takto:
Uveďme niekoľko testovacích údajov:
Kód umiestnenia = 123
Počet zamestnancov = 9874
Tieto údaje vložíme do kódu a s konečnými zmenami v hlavnej metóde. Teraz sme dokončili náš kód. Teraz spustíme kód a overíme náš JSON.
Toto je JSON, ktorý bol vytvorený:
Ako vidíte, nová zreťazená hodnota pre ID zamestnanca bola zadaná do hodnoty JSON.
Skopírujme a prilepme tento súbor JSON tu overiť jeho štruktúru. Vložte text na stránku s vláknami JSON.
Pomocou tlačidla overiť overte štruktúru, ako je uvedené nižšie:
Vytvorenie vnorenej štruktúry JSON
Príklad, ktorý sme doteraz diskutovali, používa hlavne reťazcové a číselné hodnoty v poli alebo objekte. Ale JSON je možné použiť aj na vyjadrenie celého objektu JSON pomocou rovnakého pojmu ako prvok poľa. Členovia objektov v zozname môžu používať svoje vlastné objekty a kľúče poľa.
V časti Úvod do formátu JSON, ktorý je jedným z našich predchádzajúcich tutoriálov, sme sa prvýkrát pozreli na to, ako vyzerá vnorený súbor JSON. V tomto výučbe predpokladáme, že zamestnanec má tiež auto a kód JSON by mal obsahovať aj všetky podrobnosti o aute zamestnanca.
Takže štruktúra JSON, ktorú dostaneme na konci, bude podobná tejto:
Tu máme zamestnanca JSON so všetkými údajmi, potom máme tiež objekt Car JSON vnorený do zamestnanca JSON. Objekt automobilu má svoju vlastnú sadu kľúčov a hodnôt.
Skúsme tento JSON vytvoriť programovo.
Za týmto účelom začneme rovnakým súborom JSON, ktorý sme vytvorili v našom predchádzajúcom tutoriáli. Aby sme to uľahčili, vytvoríme nový objekt JSON (t. J. Car JSON) v novej triede. Pridáme nové auto triedy a všetky objekty v tejto triede pridáme so špecifikátorom verejného prístupu.
Teraz môžeme pridať hodnotu priamo sem alebo môžeme napísať novú triedu a vytvoriť vlastnú metódu s návratovým typom objektu triedy na priradenie hodnôt podobných tomu, čo sme urobili v predchádzajúcom tutoriáli. Kvôli pohodliu priradíme hodnotu priamo k kľúčovým premenným.
Teraz sme vytvorili novú triedu s objektmi a hodnotami. V ďalšom kroku to pridáme do štruktúry JSON Employee, takže keď dôjde k serializácii JSON, páry kľúč - hodnota z triedy Car by sa mali tiež serializovať spolu s triedou zamestnancov ako vnorené JSON.
Aby sme to mohli urobiť, najskôr budeme musieť do triedy Employee pridať objektový automobil triedy. Tento objekt sa použije na uloženie hodnôt prítomných v triede Car.
Ako je uvedené vyššie, novej premennej s dátovým typom sme priradili triedu Car. Teraz poďme k metóde EmployeeDataOps (), ktorú sme vytvorili v triede EmployeeData. Napíšeme kód na volanie premenných a hodnôt z triedy Car.
Najprv si vytvoríme objekt triedy pre triedu auta:
Car carObj = new Car();
Tento objekt bude obsahovať všetky údaje z triedy automobilov. Keď sme do tohto objektu deklarovali všetky údaje z triedy automobilov, ďalším krokom bude priradenie týchto údajov (údaje obsiahnuté vo vnútri objektu automobilu) k premennej automobilu, ktorú sme vytvorili pre uchovávanie týchto údajov.
Aby sme to mohli urobiť, jednoducho použijeme objekt Employee, ktorý sme vytvorili, na prístup k premennej automobilu. A potom môžeme objekt automobilu s údajmi priamo priradiť k premennej automobilu.
EmpObj.car = carObj;
To je všetko. V jednej triede sme vytvorili premennú, potom sme vytvorili ďalší objekt na prístup k hodnote z inej triedy, potom sme hodnotu priradili k prvej premennej.
Teraz spustíme náš program a uvidíme, či dokáže vytvoriť požadovaný JSON.
Ako je uvedené vyššie, vidíme, že bol vytvorený kľúč automobilu json, ktorý obsahuje všetky údaje, ktoré sme zadali do triedy Car ako kľúč a hodnoty. Teraz znova skopírujeme obsah JSON a navigujeme tu na overenie JSON.
Stačí skopírovať všetok obsah JSON do textovej oblasti a kliknúť na ikonu „Overiť JSON ”Tlačidlo.
Takže stránka JSONlint usporiadala naše údaje a dokonale ich overila. Vidíme, že objekt „auto“ bol podľa potreby usporiadaný do štruktúry JSON. Rovnakým procesom môžete vytvoriť viac úrovní vnorených súborov JSON. Pokračujte v pridávaní objektu JSON do triedy a priraďte jeho hodnotu premennej triedy.
Ako vidíte, v našej hlavnej metóde ani nemusíme meniť žiadny kód.
Použitie hárku Excel ako zdroja údajov pre JSON
V našich predchádzajúcich tutoriáloch sme diskutovali o niekoľkých spôsoboch vytvárania rôznych štruktúr JSON. Ale so všetkými našimi štruktúrami bol veľký problém, vždy sme tvrdo kódovali hodnoty pre kľúče.
V tomto tutoriáli si rozoberieme spôsoby, ako môžeme pomocou hárka programu Excel načítať údaje do kľúčov JSON. Pred pokračovaním v tomto by som vám odporučil prejsť si všetky výukové programy, o ktorých sme hovorili skôr, pretože budeme diskutovať o rovnakom kóde, ktorý sme napísali v predchádzajúcich výučbách.
Postupovanie krok za krokom vám pomôže lepšie pochopiť celú koncepciu.
Dúfam, že ste pochopili základný kód na vytvorenie súboru JSON, v tejto časti budeme postupovať podľa rovnakej štruktúry kódu.
Najprv si vytvoríme súbor programu Excel s údajmi JSON.
Vytvorili sme súbor employeeData.xlsx s nasledujúcimi podrobnosťami.
Predtým, ako začneme písať kód na extrakciu hodnôt z programu Excel, budeme musieť do nášho projektu pridať odkaz na zostavenie. Na prístup do kancelárskeho objektu nám C # ponúka Microsoft Office Interop. Sú celkom užitočné pri zabezpečovaní ľahkého prístupu k kancelárskym objektom.
fronta kruhových polí c ++
Pretože v tomto projekte používame program Excel, použijeme referenciu zostavy Microsoft Office Interop Excel.
Ak ju chcete nainštalovať, kliknite pravým tlačidlom myši na odkazy v Prieskumníkovi riešení a potom vyberte Spravujte balíčky NuGet . Do vyhľadávacieho panela napíšte Microsoft Office Interop Excel a vo výsledku vyhľadávania sa zobrazí požadovaný balík.
Hneď ako získate Microsoft Office Interop Excel, kliknite na ikonu Tlačidlo Inštalovať nainštalovať.
Po dokončení inštalácie môžete vidieť, že program Microsoft Office Interop Excel bol pridaný do zoznamu odkazov na zostavy v projekte.
Na začiatok si najskôr priradíme rôzne prvky programu Excel.
Microsoft.Office.Interop.Excel.Application xlApp; Microsoft.Office.Interop.Excel.Workbook xlWorkBook; Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
Tu sme priradili hodnoty aplikácii Excel, zošitu programu Excel a hárku programu Excel. Keď budú definované, budeme ich v ďalších krokoch používať na prístup k hodnotám v excelovom hárku.
Akými krokmi sa všeobecne riadime, ak chceme načítať hodnotu z hárka programu Excel?
Najskôr vstúpime do aplikácie Excel, potom otvoríme zošit programu Excel a pracovný hárok programu Excel a neskôr nájdeme prvok na základe jeho hodnôt riadkov a stĺpcov. Chystáme sa tu urobiť niečo podobné.
Tento kód otvorí aplikáciu Excel.
xlApp = new Microsoft.Office.Interop.Excel.Application();
Tento kód otvorí zošit so zadaným menom na danom mieste.
xlWorkBook = xlApp.Workbooks.Open(@'D:json employeeData.xlsx', 0, true, 5, '', '', true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, ' ', false, false, 0, true, 1, 0);
Teraz napíšeme kód na prístup ku konkrétnemu hárku vo vnútri zošita. Máme pracovný hárok s názvom „Hárok1“ (predvolený názov v hárku programu Excel)
xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets['Sheet1'];
Keď sme vstúpili do pracovného hárka, ďalším krokom bude nájdenie správneho stĺpca a správnych údajov. Najskôr vyhľadáme stĺpec s kľúčom.
Napríklad, Najskôr vyhľadajme stĺpec s hodnotou „Meno“. Keď nájdeme hodnotu, extrahujeme číslo stĺpca. Potom, ako vieme, prvý riadok obsahuje nadpis a druhý riadok obsahuje naše údaje, takže na extrahovanie presných údajov použijeme číslo stĺpca a číslo riadku.
Takto sa do premennej uloží číslo stĺpca pre meno.
var colmnVal = xlWorkSheet.Columns.Find('FirstName').Cells.Column;
Teraz použijeme číslo stĺpca FirstName na extrahovanie hodnoty z bunky pod ním. Ako je známe, metóda value vráti iba typ reťazca, takže to uložíme do premennej reťazca.
string frstName = xlWorkSheet.Cells[2, colmnVal].Text.ToString();
Teraz máme hodnotu krstného mena uloženú v premennej. Na priradenie hodnoty teda použijeme objekt zamestnanca, ktorý sme definovali v našej metóde.
Odstráňte všetky hodnoty, ktoré ste priradili alebo napevno zakódovali v triede Employee, pretože budeme vracať hodnoty pomocou našej metódy.
Existuje však jeden problém „.Text“ funkcia vždy vráti hodnotu reťazca. Ak teda chceme extrahovať hodnotu ID zamestnanca, ktorá je celým číslom, bude sa extrahovať aj ako reťazec. Pred priradením k objektu JSON teda budeme musieť tento reťazec previesť na celé číslo. Za týmto účelom priamo analyzujeme hodnotu na celé číslo.
Kód pre identifikáciu zamestnanca bude teda vyzerať takto:
var colmnEmpID = xlWorkSheet.Columns.Find('employeeID').Cells.Column; string emplyID = xlWorkSheet.Cells[2, colmnEmpID].Text.ToString(); int emplyIDint = Int32.Parse(emplyID);
Na konci analyzujeme hodnotu reťazca na celé číslo, pretože náš JSON rozpoznáva identifikáciu zamestnanca ako celočíselnú hodnotu.
Celkový kód na načítanie údajov pre všetky 4 stĺpce bude teda vyzerať takto:
Všetko, čo musíme urobiť, je priradiť premenné, ktoré sme vytvorili s údajmi z hárka programu Excel, k objektom zamestnancov.
Všetko je nastavené, teraz postavíme projekt. Po dokončení zostavenia spustíme program na vygenerovanie JSON.
Bude vygenerovaný nasledujúci JSON:
Teraz si porovnajme údaje z JSON s údajmi v hárku programu Excel.
Ako je uvedené vyššie, údaje JSON sa zhodujú s údajmi vo všetkých 4 stĺpcoch tabuľky programu Excel. Poďme overiť súbor JSON, ktorý vygeneroval náš program. Za týmto účelom opäť navštívime tu . Stačí skopírovať všetok obsah JSON do textovej oblasti a kliknúť na ikonu „Validate JSON“ tlačidlo.
Hurá! Pomocou údajov z programu Excel sme vytvorili platný súbor JSON.
Cvičenie pre vás:
Vytvorte trojúrovňový vnorený súbor JSON. Vytvorte materskú spoločnosť JSON a vnorte zamestnanca JSON, ktorý sme vytvorili predtým, spolu s JSON auta.
Záver
Teraz sme sa dostali na koniec nášho tutoriálu. Bol to dlhý návod, ale naučili sme sa niekoľko vecí. Naučili sme sa, ako vytvoriť jednoduchý JSON pomocou programovania v jazyku C # a výhody kategorizácie rôznych množín údajov JSON do inej triedy. Použili sme tiež naše programátorské schopnosti na pridanie polí a dokonca ďalšej štruktúry JSON do nadradeného JSON.
Nakoniec sme pracovali na spôsoboch načítania údajov z iného zdroja údajov, aby sa hodnoty mohli načítať do kľúčov JSON.
Dúfam, že ste si doteraz všetci užili celú sériu tutoriálov JSON.
Výukový program č. 4: Používanie JSON na testovanie rozhrania
Odporúčané čítanie
- Ako vytvárať objekty JSON pomocou kódu C # (tvorba JSON, časť 1)
- Najlepšie otázky a odpovede týkajúce sa rozhovorov JSON
- Používanie JSON na testovanie rozhrania
- Výukový program JSON: Úvod a kompletný sprievodca pre začiatočníkov
- Dátová štruktúra frontu v C ++ s ilustráciou
- MongoDB Vytvorenie zálohy databázy
- Skladať dátovú štruktúru v C ++ s ilustráciou
- Dátová štruktúra kruhového prepojeného zoznamu v C ++ s ilustráciou