Et av de mest populære og effektive formatene i dag for lesing og skriving av data er JSON eller forkortelsen på engelsk. JavaScript Object Notation, som har et forhåndsdefinert format og ikke er avhengig av noe programmeringsspråk, som tillater kommunikasjon mellom applikasjoner sømløst og sømløst.
Men ikke bare JSON har vokst i popularitet, JavaScript Som et programmeringsspråk har den også gjort det, og dette takket være utviklingsmiljøet som kalles Node.js som lar oss kjøre den på serversiden.
Node.js støtter naturlig og enkelt objekter av type JSON Når det gjelder kommunikasjon av dataene, la oss se på de forskjellige måtene vi har i Node.js for å utføre håndteringen av JSON i koden vår.
1. Lag et JSON -objekt
En av hovedoperasjonene vi må lære å håndtere for å manipulere en JSON er opprettelsen av objektet som sådan, som takket være denne skapelsen vil vi kunne få tilgang til de forskjellige attributtene raskt og enkelt.
For dette skal vi lage en ny fil som heter json_creation.js som vil inneholde erklæringen til vårt JSON -objekt kalt bruker og vil ha flere attributter iboende til det, la oss se hvordan det ser ut:
var user = {name: 'Solvetic Developer', e -post: '[email protected]', alder: 36, registreringsdato: ny dato ()}Som vi kan se, følger strukturen til JSON formen for nøkkelverdi som starter sin deklarasjon med seler, hvor vi kan finne flere typer verdier, fra tegnstrenger, tall og vi bruker til og med funksjonen Dato () for å få gjeldende dato. Erklæringen om objektet vårt er ganske lett å lese, både for det menneskelige øyet og for alle språk, vi kan til og med erklære et nestet JSON -objekt for å gruppere så mange verdier som mulig, la oss se hvordan det ser ut i følgende eksempel:
var user = {name: 'Solvetic Developer', e -post: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {city: 'Madrid', land: 'Spain'}}Med vår JSON opprettet hvis vi vil se innholdet så vel som strukturen med bruk av console.log () vi kan se det uten problemer, la oss se hvordan vår siste kode ser ut:
var user = {name: 'Solvetic Developer', e -post: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {city: 'Madrid', land: 'Spain'}} konsoll . logg (bruker);Til slutt, for å kjøre den på konsollen vår, trenger vi bare å bruke node -kommandoen etterfulgt av navnet på filen. Du kan teste svaret fra konsollen.
Som vi kunne se, var opprettelsen av vårt JSON -objekt ekstremt enkelt, og dette takket være utviklingsmiljøet og dets innfødte håndtering og uten problemer med dette formatet.
2. Få tilgang til attributtene
Å kunne vise vår JSON er nyttig hvis vi vil kontrollere strukturen på jakt etter feil eller andre detaljer, men generelt etter at vi har generert dette objektet, er det sikreste at vi trenger tilgang til attributtene, sjekker om det finnes et attributt eller om vi har mottatt det ved operasjon a RESTful API sjekk hvilke egenskaper objektet vårt har.
Hvis vi allerede kjenner noen objektorientert programmering, vet vi at objekter har attributter, og vi kan få tilgang til dem gjennom forekomsten av objektet det gjelder, i Node.js Det er mye enklere, bare ved å bruke objektet og navnet på attributtet vi kan få tilgang til det, la oss se hvordan vi bruker dette på vårt tidligere opprettede objekt:
var user = {name: 'Solvetic Developer', e -post: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {city: 'Madrid', land: 'Spain'}} konsoll . log ('Brukernavn:' + brukernavn); console.log ('E -postbruker:' + user.email); console.log ('User Age:' + user.age); console.log ('Registreringsdato:' + user.RegistrationDate); console.log ('Brukerland:' + bruker.land);La oss kjøre vårt eksempel og se svaret etter konsoll.
[vedlegg = 7621: handling-json-nodejs-2.jpg.webp]
På denne måten kunne vi få tilgang til alle våre attributter uten store problemer, men hvis vi er observatører, innser vi at i tilfelle av Brukerland ga oss svaret på udefinert, og dette er fordi det er et nestet objekt, men vi skal ikke bekymre deg, siden vi bare får tilgang til attributtet ved å plassere det inneholdte objektet:
console.log ('User Country:' + user.direction.country);La oss kjøre eksemplet vårt igjen og se hvordan feilen vår ble løst.
Vi klarte å løse det uten problemer, men dette er fordi vi kjenner strukturen til vår JSON, men i tilfelle vi ikke vet det må vi gå til andre teknikker som vil hjelpe oss i denne oppgaven, for dette er det som enkelt som å utføre en iterasjon på attributtene til objektet vårt, la oss se:
var user = {name: 'Solvetic Developer', e -post: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {city: 'Madrid', land: 'Spain'}} for (var atr i bruker) {console.log (atr); }Vi kjører vårt eksempel og ser hvordan vi mottar alle attributtene i objektet vårt.
På denne måten, hvis vi ikke kjenner strukturen til vår JSON, kan vi enkelt skaffe den, og i tilfelle vi har nestede objekter, kan vi gjøre følgende:
for (var atr in user.address) {console.log (atr); }Hvor den vil gi oss attributtene i det nestede objektet når vi utfører det:
Til slutt, hvis vi ønsker å være mer direkte og vite om et bestemt attributt eksisterer av identifikatoren, kan vi bruke funksjonen hasOwnProperty () som vil returnere sant eller usant hvis det eksisterer eller ikke:
var user = {name: 'Solvetic Developer', e -post: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {city: 'Madrid', land: 'Spain'}} konsoll . log (user.hasOwnProperty ('navn')); console.log (user.hasOwnProperty ('dni')); console.log (user.hasOwnProperty ('alder')); console.log (user.hasOwnProperty ('tittel'));La oss se konsollresponsen i vårt eksempel der vi må skaffe true for de første og tredje attributtene, og usanne for de to resterende.
3. Redigere attributtene
Mange ganger når vi manipulerer denne typen objekter, må vi redigere informasjonen som attributtene inneholder mer enn én gang og arbeide med Node.js Oppgaven kan ikke være enklere, siden vi bare kan tildele informasjonen til en ny verdi til attributtet:
var user = {name: 'Solvetic Developer', e -post: '[email protected]', alder: 36, registreringsdato: ny Date (), adresse: {city: 'Madrid', land: 'Spain'}} bruker . email = '[email protected]'; user.age = 18; console.log (bruker);La oss se hvordan attributtene til objektet vårt ble vellykket overskrevet:
I tillegg til å redigere informasjonen til et attributt, kan vi legge til et nytt attributt i vårt JSON, la oss se hvordan vi oppnår denne operasjonen:
var user = {name: 'Solvetic Developer', e -post: '[email protected]', alder: 36, registreringsdato: ny dato (), adresse: {city: 'Madrid', land: 'Spain'}}; console.log (bruker); user ['position'] = 'Ansvarlig redaktør'; console.log (bruker);Hvis vi kjører eksemplet vårt, kan vi se vårt opprinnelige objekt og deretter inkludering av et nytt attributt på slutten av det, noe som gjør det lettere for oss å legge til attributter til objektet vårt uten mye innsats, la oss se.
4. Redigere attributtene
Vi har sett hvordan vi lager et objekt JSON og hvordan vi skal håndtere det effektivt, men vi kan gå videre og kombinere dette med Node.js -samlingen og skaffe en ny type element, JSON -matrisen som ikke er annet enn en samling av JSON -objekter. For å illustrere dette skal vi lage et objekt som vil beholde en brukers journal i forhold til en serie kjøpte produkter, la oss se:
var date = new Date (); var transaksjoner = {id: 1, bruker: 'Solvetic', dateTran: date, details: [{code: 'p01', product: 'PS4', price: 350}, {code: 'p02', product: '3DS ', pris: 199}, {kode:' p03 ', produkt:' tenne ', pris: 60}]}}For å få tilgang til det, må vi bare bruke console.log () med navnet på det nye objektet vårt, la oss se svaret fra konsollen.
Som vi kan se, er rekkefølgen på strukturen vår mye renere og lettere tilgjengelig for et større antall attributter, selv om vi har et ekstremt stort antall, kan vi gå gjennom vårt JSON -utvalg og få parametrene som følger:
for (var i = 0; iFor å fullføre, la oss se svaret fra konsollen når vi kjører eksemplet.
Det har vi sett JSON -håndtering med Node.js Det er både enkelt og effektivt, og hjelper oss med forskjellige funksjoner som det har, og dets innfødte håndtering gjør arbeidet med denne typen objekter til en av de enkleste oppgavene vi kan finne.