Een van de meest populaire en effectieve formaten van vandaag voor het lezen en schrijven van gegevens is JSON of de afkorting ervan in het Engels. JavaScript-objectnotatie, dat een vooraf gedefinieerd formaat heeft en niet afhankelijk is van een programmeertaal, waardoor communicatie tussen applicaties naadloos en naadloos mogelijk is.
Maar niet alleen de JSON in populariteit is gegroeid, JavaScript Als programmeertaal heeft het het ook gedaan, en dit dankzij de ontwikkelomgeving genaamd Node.js waardoor we het aan de serverzijde kunnen uitvoeren.
Node.js ondersteunt native en gemakkelijk objecten van het type JSON Wat betreft de communicatie van de gegevens, laten we eens kijken naar de verschillende manieren die we in Node.js hebben om de verwerking van de JSON in onze code.
1. Een JSON-object maken
Een van de belangrijkste bewerkingen die we moeten leren hanteren om een JSON te manipuleren, is het maken van het object als zodanig, dat we dankzij deze creatie snel en gemakkelijk toegang hebben tot de verschillende attributen.
Hiervoor gaan we een nieuw bestand maken met de naam json_creation.js die de verklaring van ons JSON-object met de naam gebruiker zal bevatten en verschillende attributen zal hebben die inherent zijn aan het, laten we eens kijken hoe het eruit ziet:
var user = {name: 'Solvetic Developer', email: '[email protected]', leeftijd: 36, RegistrationDate: new Date ()}Zoals we kunnen zien, gehoorzaamt de structuur van de JSON aan de vorm van sleutel-waarde, beginnend met accolades, waar we verschillende soorten waarden kunnen vinden, van tekenreeksen, getallen en we gebruiken zelfs de functie Datum () om de huidige datum te krijgen. De verklaring van ons object is vrij gemakkelijk te lezen, zowel voor het menselijk oog als voor elke taal, we kunnen zelfs een genest JSON-object declareren om zoveel mogelijk waarden te groeperen, laten we eens kijken hoe het eruit ziet in het volgende voorbeeld:
var user = {name: 'Solvetic Developer', email: '[email protected]', leeftijd: 36, Registratiedatum: new Date (), adres: {city: 'Madrid', land: 'Spain'}}Met onze JSON gemaakt als we zowel de inhoud als de structuur willen zien met behulp van console.log () we kunnen het zonder problemen zien, laten we eens kijken hoe onze uiteindelijke code eruit ziet:
var user = {name: 'Solvetic Developer', email: '[email protected]', leeftijd: 36, Registratiedatum: new Date (), adres: {city: 'Madrid', land: 'Spain'}} console .log (gebruiker);Ten slotte, om het op onze console uit te voeren, hoeven we alleen maar het node-commando te gebruiken gevolgd door de naam van het bestand. U kunt het antwoord van de console testen.
Zoals we konden zien, was het creëren van ons JSON-object uiterst eenvoudig, en dit dankzij de ontwikkelomgeving en de native handling en zonder problemen van dit formaat.
2. Toegang tot de attributen
Het kunnen weergeven van onze JSON is handig als we de structuur willen controleren op zoek naar fouten of andere details, maar over het algemeen is het na het genereren van dit object het veiligst dat we toegang moeten krijgen tot de attributen, controleren of een attribuut bestaat of dat we hebben ontvangen door operatie a REST-API controleer welke attributen ons object heeft.
Als we al wat objectgeoriënteerd programmeren kennen, weten we dat objecten attributen hebben en dat we ze kunnen benaderen via de instantie van het object in kwestie, in Node.js Het is veel eenvoudiger, gewoon door het object en de naam van het attribuut te gebruiken waar we toegang toe hebben, laten we eens kijken hoe we dit toepassen op ons eerder gemaakte object:
var user = {naam: 'Solvetic Developer', e-mail: '[email protected]', leeftijd: 36, Registratiedatum: nieuw Datum (), adres: {stad: 'Madrid', land: 'Spain'}} console .log ('Gebruikersnaam:' + gebruikersnaam; console.log ('E-mail gebruiker:' + gebruiker.e-mail); console.log ('Gebruikersleeftijd:' + gebruiker.leeftijd); console.log ('Registratiedatum:' + gebruiker.Registratiedatum); console.log ('Land gebruiker:' + gebruiker.land);Laten we ons voorbeeld uitvoeren en het antwoord per console bekijken.
[bijlage = 7621: handling-json-nodejs-2.jpg.webp]
Op deze manier zouden we zonder veel problemen toegang kunnen krijgen tot al onze attributen, maar als we waarnemers zijn, realiseren we ons dat in het geval van: Land van gebruiker gaf ons het antwoord van ongedefinieerd, en dit is omdat het een genest object is, maar we hoeven ons geen zorgen te maken, want alleen door het ingesloten object te plaatsen, hebben we toegang tot het attribuut:
console.log ('Land gebruiker:' + gebruiker.richting.land);Laten we ons voorbeeld opnieuw uitvoeren en kijken hoe onze fout is verholpen.
We hebben het zonder problemen kunnen oplossen, maar dit komt omdat we de structuur van onze JSON kennen, maar in het geval dat we het niet weten, moeten we naar andere technieken gaan die ons bij deze taak zullen helpen, hiervoor is het zo eenvoudig als het uitvoeren van een iteratie op de attributen van ons object, laten we eens kijken:
var user = {naam: 'Solvetic Developer', e-mail: '[email protected]', leeftijd: 36, Registratiedatum: nieuw Datum (), adres: {stad: 'Madrid', land: 'Spain'}} voor (var atr in gebruiker) {console.log (atr); }We voeren ons voorbeeld uit en zien hoe we alle attributen in ons object ontvangen.
Op deze manier kunnen we, als we de structuur van onze JSON niet kennen, deze gemakkelijk verkrijgen en in het geval dat we geneste objecten hebben, kunnen we het volgende doen:
voor (var atr in gebruiker.adres) {console.log (atr); }Waar het ons bij het uitvoeren de attributen in ons geneste object zal geven:
Ten slotte, als we directer willen zijn en willen weten of een bepaald attribuut bestaat door zijn identifier, kunnen we de functie gebruiken hasOwnProperty () die waar of onwaar zal retourneren als het bestaat of niet:
var user = {name: 'Solvetic Developer', email: '[email protected]', leeftijd: 36, Registratiedatum: new Date (), adres: {city: 'Madrid', land: 'Spain'}} console .log (user.hasOwnProperty ('naam')); console.log (user.hasOwnProperty ('dni')); console.log (user.hasOwnProperty ('leeftijd')); console.log (user.hasOwnProperty ('titel'));Laten we eens kijken naar de console-reactie van ons voorbeeld waarbij we waar moeten krijgen voor de eerste en derde attributen, en onwaar voor de overige twee.
3. De attributen bewerken
Vaak moeten we, wanneer we dit soort objecten manipuleren, de informatie die hun attributen bevatten meer dan eens bewerken en ermee werken Node.js De taak kan niet eenvoudiger zijn, want met alleen de toewijzing van een nieuwe waarde aan het attribuut kunnen we de informatie bewerken, laten we eens kijken:
var gebruiker = {naam: 'Solvetic Developer', e-mail: '[email protected]', leeftijd: 36, Registratiedatum: nieuw Datum (), adres: {stad: 'Madrid', land: 'Spain'}} gebruiker e-mail = '[email protected]'; gebruiker.leeftijd = 18; console.log (gebruiker);Laten we eens kijken hoe de attributen van ons object met succes zijn overschreven:
Naast het bewerken van de informatie van een attribuut, kunnen we een nieuw attribuut toevoegen aan onze JSON, laten we eens kijken hoe we deze bewerking bereiken:
var user = {naam: 'Solvetic Developer', e-mail: '[email protected]', leeftijd: 36, Registratiedatum: nieuwe Datum (), adres: {stad: 'Madrid', land: 'Spain'}}; console.log (gebruiker); user ['position'] = 'Hoofdredacteur'; console.log (gebruiker);Als we ons voorbeeld uitvoeren, kunnen we ons oorspronkelijke object zien en vervolgens de toevoeging van een nieuw attribuut aan het einde ervan, waardoor het voor ons gemakkelijker wordt om zonder veel moeite attributen aan ons object toe te voegen, laten we eens kijken.
4. De attributen bewerken
We hebben gezien hoe we een object kunnen maken JSON en hoe er effectief mee om te gaan, maar we kunnen verder gaan en dit combineren met de Node.js-collectie, waardoor een nieuw type element wordt verkregen, de JSON-array die niets meer is dan een verzameling JSON-objecten. Om dit te illustreren gaan we een object maken dat een gebruikersrecord bijhoudt met betrekking tot een reeks gekochte producten, laten we eens kijken:
var datum = nieuwe datum (); var transacties = {id: 1, gebruiker: 'Solvetic', dateTran: datum, details: [{code: 'p01', product: 'PS4', prijs: 350}, {code: 'p02', product: '3DS ', prijs: 199}, {code:' p03 ', product:' kindle ', prijs: 60}]}Om toegang te krijgen, hoeven we alleen console.log () te gebruiken met de naam van ons nieuwe object, laten we de reactie van de console bekijken.
Zoals we kunnen zien, is de volgorde van onze structuur veel schoner en gemakkelijker toegankelijk voor een groter aantal attributen, zelfs in het geval dat we een extreem groot aantal hebben, kunnen we onze JSON-array doorlopen en de parameters ervan als volgt verkrijgen:
voor (var i = 0; iLaten we tot slot eens kijken naar de reactie van de console bij het uitvoeren van het voorbeeld.
Dat hebben we gezien JSON-afhandeling met Node.js Het is zowel gemakkelijk als effectief, het helpt ons met de verschillende functies die het heeft en de oorspronkelijke bediening maakt het werken met dit type object een van de eenvoudigste taken die we kunnen vinden.