Et af de mest populære og effektive formater i dag til læsning og skrivning af data er JSON eller for dets akronym på engelsk. JavaScript Object Notation, som har et foruddefineret format og ikke afhænger af noget programmeringssprog, der tillader kommunikation mellem applikationer problemfrit og problemfrit.
Men ikke kun JSON er vokset i popularitet, JavaScript Som et programmeringssprog har det også gjort det, og det takket være dets udviklingsmiljø kaldet Node.js som giver os mulighed for at køre det på serversiden.
Node.js understøtter indbygget og let objekter af typen JSON Med hensyn til kommunikation af data, lad os derefter se de forskellige måder, vi har i Node.js til at udføre håndteringen af JSON i vores kode.
1. Opret et JSON -objekt
En af de vigtigste operationer, som vi skal lære at håndtere for at manipulere en JSON, er oprettelsen af objektet som sådan, som takket være denne skabelse vil vi kunne få adgang til dets forskellige attributter hurtigt og nemt.
Til dette vil vi oprette en ny fil kaldet json_creation.js som vil indeholde erklæringen for vores JSON -objekt kaldet bruger og vil have flere attributter forbundet med det, lad os se, hvordan det ser ud:
var user = {name: 'Solvetic Developer', email: '[email protected]', alder: 36, RegistrationDate: new Date ()}Som vi kan se, lyder strukturen i JSON i form af nøgleværdi, der starter dens deklaration med seler, hvor vi kan finde flere typer værdier, fra tegnstrenge, tal, og vi bruger endda funktionen Dato () for at få den aktuelle dato. Erklæringen om vores objekt er ret let at læse, både for det menneskelige øje og for ethvert sprog, vi kan endda erklære et indlejret JSON -objekt for at gruppere så mange værdier som muligt, lad os se, hvordan det ser ud i følgende eksempel:
var user = {name: 'Solvetic Developer', email: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {city: 'Madrid', land: 'Spain'}}Med vores JSON oprettet, hvis vi vil se dens indhold såvel som dets struktur med brug af console.log () vi kan se det uden problemer, lad os se, hvordan vores endelige kode ser ud:
var user = {name: 'Solvetic Developer', email: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {city: 'Madrid', land: 'Spain'}} konsol . log (bruger);Endelig, for at køre det på vores konsol, skal vi bare bruge node -kommandoen efterfulgt af filens navn. Du kan teste svaret fra konsollen.
Som vi kunne se, var oprettelsen af vores JSON -objekt ekstremt enkel, og dette takket være udviklingsmiljøet og dets indbyggede håndtering og uden problemer med dette format.
2. Adgang til attributterne
Det er nyttigt at kunne vise vores JSON, hvis vi vil kontrollere dets struktur på jagt efter fejl eller andre detaljer, men generelt efter at have genereret dette objekt er det sikreste, at vi skal få adgang til dets attributter, kontrollere, om der findes en attribut, eller hvis vi har modtaget det ved operation a RESTful API kontrollere, hvilke egenskaber vores objekt har.
Hvis vi allerede kender noget objektorienteret programmering, ved vi, at objekter har attributter, og vi kan få adgang til dem via forekomsten af det pågældende objekt, i Node.js Det er meget enklere, bare ved at bruge objektet og navnet på attributten, vi kan få adgang til det, lad os se, hvordan vi anvender dette på vores tidligere oprettede objekt:
var user = {name: 'Solvetic Developer', email: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {city: 'Madrid', land: 'Spain'}} konsol . log ('Brugernavn:' + brugernavn); console.log ('E -mail -bruger:' + bruger.email); console.log ('User Age:' + user.age); console.log ('Registreringsdato:' + user.RegistrationDate); console.log ('Brugerland:' + bruger.land);Lad os køre vores eksempel og se svaret efter konsol.
[vedhæftet fil = 7621: handling-json-nodejs-2.jpg.webp]
På denne måde kunne vi få adgang til alle vores attributter uden store problemer, men hvis vi er observatører, indser vi, at i tilfælde af Brugerland gav os svaret på udefineret, og det er fordi det er et indlejret objekt, men vi skal ikke bekymre os, da vi ved at placere det indeholdte objekt kan få adgang til attributten:
console.log ('Brugerland:' + bruger.direction.country);Lad os køre vores eksempel igen og se, hvordan vores fejl blev rettet.
Vi var i stand til at løse det uden problemer, men det er fordi vi kender strukturen i vores JSON, men i tilfælde af at vi ikke ved det, skal vi gå til andre teknikker, der vil hjælpe os i denne opgave, for dette er det som simpelt som at udføre en iteration på attributterne til vores objekt, lad os se:
var user = {name: 'Solvetic Developer', email: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {city: 'Madrid', land: 'Spain'}} for (var atr i bruger) {console.log (atr); }Vi kører vores eksempel og ser, hvordan vi modtager alle attributterne i vores objekt.
På denne måde, hvis vi ikke kender strukturen i vores JSON, kan vi nemt få det, og i tilfælde af at vi har indlejrede objekter, kan vi gøre følgende:
for (var atr i user.address) {console.log (atr); }Hvor det ved udførelsen vil give os attributterne i vores indlejrede objekt:
Endelig, hvis vi vil være mere direkte og vide, om der findes en bestemt attribut ved dens identifikator, kan vi bruge funktionen hasOwnProperty () som vil returnere sand eller falsk, hvis den eksisterer eller ej:
var user = {name: 'Solvetic Developer', email: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {city: 'Madrid', land: 'Spain'}} konsol . log (user.hasOwnProperty ('navn')); console.log (user.hasOwnProperty ('dni')); console.log (user.hasOwnProperty ('alder')); console.log (user.hasOwnProperty ('titel'));Lad os se konsolresponsen i vores eksempel, hvor vi skal opnå true for den første og tredje attribut og falsk for de resterende to.
3. Redigering af attributterne
Mange gange når vi manipulerer med denne type objekter, bliver vi nødt til at redigere de oplysninger, som deres attributter indeholder mere end én gang og arbejde med Node.js Opgaven kunne ikke være enklere, da vi med kun tildeling af en ny værdi til attributten vil kunne redigere oplysningerne, lad os se:
var bruger = {navn: 'Solvetic Developer', e -mail: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {by: 'Madrid', land: 'Spanien'}} bruger . email = '[email protected]'; user.age = 18; console.log (bruger);Lad os se, hvordan attributterne til vores objekt blev overskrevet med succes:
Ud over at redigere oplysningerne om en attribut kan vi tilføje en ny attribut til vores JSON, lad os se, hvordan vi opnår denne operation:
var bruger = {navn: 'Solvetic Developer', e -mail: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {by: 'Madrid', land: 'Spanien'}}; console.log (bruger); user ['position'] = 'Chefredaktør'; console.log (bruger);Hvis vi kører vores eksempel, kan vi se vores originale objekt og derefter inkludering af en ny attribut i slutningen af det, hvilket gør det lettere for os at tilføje attributter til vores objekt uden større anstrengelse, lad os se.
4. Redigering af attributterne
Vi har set, hvordan man opretter et objekt JSON og hvordan man håndterer det effektivt, men vi kan gå videre og kombinere dette med Node.js -samlingen og opnå en ny type element, JSON -arrayet, der ikke er mere end en samling af JSON -objekter. For at illustrere dette skal vi oprette et objekt, der vil beholde en brugers registrering i forhold til en række købte produkter, lad os se:
var date = new Date (); var transaktioner = {id: 1, bruger: 'Solvetic', dateTran: dato, detaljer: [{kode: 'p01', produkt: 'PS4', pris: 350}, {kode: 'p02', produkt: '3DS ', pris: 199}, {kode:' p03 ', produkt:' kindle ', pris: 60}]}}For at få adgang til det skal vi bare bruge console.log () med navnet på vores nye objekt, lad os se svaret fra konsollen.
Som vi kan se, er rækkefølgen af vores struktur meget renere og lettere tilgængelig for et større antal attributter, selv i tilfælde af at vi har et ekstremt stort antal, kan vi gå igennem vores JSON -array og få dets parametre som følger:
for (var i = 0; iFor at afslutte, lad os se konsolens svar, når eksemplet udføres.
Det har vi set JSON -håndtering med Node.js Det er både let og effektivt, det hjælper os med forskellige funktioner, det har, og dets indbyggede håndtering gør arbejdet med denne type objekter til en af de enkleste opgaver, vi kan finde.