Работа с JSON с Node.js

Един от най -популярните и ефективни формати днес за четене и писане на данни е JSON или за неговото съкращение на английски език. Обозначение на JavaScript обект, който има предварително зададен формат и не зависи от нито един език за програмиране, което позволява безпроблемна и безпроблемна комуникация между приложенията.

Но не само JSON набира популярност, JavaScript Като език за програмиране той също го е направил и това благодарение на своята среда за разработка се нарича Node.js което ни позволява да го стартираме от страна на сървъра.

Node.js естествено и лесно поддържа обекти от тип JSON Що се отнася до съобщаването на данните, нека видим тогава различните начини, които имаме в Node.js за извършване на обработката на JSON в нашия код.

1. Създайте JSON обект


Една от основните операции, с които трябва да се научим да манипулираме JSON, е създаването на обекта като такъв, който благодарение на това създаване ще можем да получим бърз и лесен достъп до различните му атрибути.

За целта ще създадем нов файл, наречен json_creation.js който ще съдържа декларацията на нашия JSON обект, наречен user и ще има няколко атрибути, присъщи за него, нека видим как изглежда:

 var user = {name: 'Solvetic Developer', email: '[email protected]', възраст: 36, Дата на регистрация: нова дата ()}
Както можем да видим, структурата на JSON се подчинява на формата ключ-стойност, започваща с декларацията си със скоби, където можем да намерим няколко типа стойност, от символни низове, числа и дори използваме функцията Дата () за да получите текущата дата. Декларацията на нашия обект е доста лесна за четене, както за човешкото око, така и за всеки език, дори можем да обявим вложен JSON обект, за да групира възможно най -много стойности, нека видим как изглежда в следния пример:
 var user = {name: 'Solvetic Developer', имейл: '[email protected]', възраст: 36, Date of Registration: new Date (), address: {city: 'Madrid', country: 'Spain'}}
С нашия JSON, създаден, ако искаме да видим неговото съдържание, както и неговата структура с помощта на console.log () можем да го видим без проблеми, нека видим как изглежда крайният ни код:
 var user = {name: 'Solvetic Developer', имейл: '[email protected]', възраст: 36, Дата на регистрация: нова дата (), адрес: {град: 'Madrid', държава: 'Spain'}} конзола . log (потребител);
И накрая, за да го стартираме на нашата конзола, просто трябва да използваме командата node, последвана от името на файла. Можете да тествате отговора от конзолата.

Както видяхме, създаването на нашия JSON обект беше изключително просто и това благодарение на средата за разработка и нейното естествено боравене и без проблеми с този формат.

2. Достъп до атрибутите


Възможността да покажем нашия JSON е полезно, ако искаме да проверим структурата му в търсене на грешки или някакъв друг детайл, но обикновено след генерирането на този обект най -сигурното е, че трябва да имаме достъп до неговите атрибути, да проверим дали атрибут съществува или дали са го получили чрез операция а RESTful API проверете какви атрибути има нашият обект.

Ако вече познаваме някакво обектно-ориентирано програмиране, знаем, че обектите имат атрибути и можем да получим достъп до тях чрез екземпляра на въпросния обект, в Node.js Много по -просто е, просто като използваме обекта и името на атрибута, можем да получим достъп до него, нека видим как ще приложим това към нашия създаден по -рано обект:

 var user = {name: 'Solvetic Developer', имейл: '[email protected]', възраст: 36, Дата на регистрация: нова дата (), адрес: {град: 'Мадрид', държава: 'Испания'}} конзола . log ('Потребителско име:' + потребителско име); console.log ('Email User:' + user.email); console.log ('Потребителска възраст:' + user.age); console.log ('Дата на регистрация:' + user.RegistrationDate); console.log ('Потребителска държава:' + user.country);
Нека изпълним нашия пример и ще видим отговора от конзолата.

[attachment = 7621: handling-json-nodejs-2.jpg.webp]

По този начин бихме могли да получим достъп до всички наши атрибути без много проблеми, но ако сме наблюдатели, осъзнаваме, че в случай на Държава на потребителя ни даде отговора на неопределен, и това е така, защото е вложен обект, но не бива да се притесняваме, тъй като само чрез поставяне на съдържащия се обект можем да получим достъп до атрибута:

 console.log ('Потребителска държава:' + user.direction.country);
Нека повторим нашия пример отново и ще видим как грешката ни е отстранена.

Успяхме да го разрешим без проблеми, но това е така, защото знаем структурата на нашия JSON, но в случай, че не го познаваме, трябва да преминем към други техники, които ще ни помогнат в тази задача, тъй като това е като просто като извършване на итерация на атрибутите на нашия обект, нека видим:

 var user = {name: 'Solvetic Developer', email: '[email protected]', възраст: 36, Дата на регистрация: нова дата (), адрес: {град: 'Madrid', държава: 'Spain'}} за (var atr в потребителя) {console.log (atr); }
Изпълняваме нашия пример и виждаме как получаваме всички атрибути, съдържащи се в нашия обект.

По този начин, ако не знаем структурата на нашия JSON, можем лесно да го получим и в случай, че имаме вложени обекти, можем да направим следното:

 for (var atr в user.address) {console.log (atr); }
Където при изпълнението му ще ни даде атрибутите, съдържащи се в нашия вложен обект:

И накрая, ако искаме да бъдем по -директни и да знаем дали някакъв конкретен атрибут съществува чрез неговия идентификатор, можем да използваме функцията hasOwnProperty () което ще върне true или false ако съществува или не:

 var user = {name: 'Solvetic Developer', имейл: '[email protected]', възраст: 36, Дата на регистрация: нова дата (), адрес: {град: 'Madrid', държава: 'Spain'}} конзола . log (user.hasOwnProperty ('име')); console.log (user.hasOwnProperty ('dni')); console.log (user.hasOwnProperty ('възраст')); console.log (user.hasOwnProperty ('заглавие'));
Нека да видим конзолния отговор на нашия пример, където трябва да получим true за първия и третия атрибут и false за останалите два.

3. Редактиране на атрибутите


Много пъти, когато манипулираме тези типове обекти, ще трябва да редактираме информацията, която техните атрибути съдържат повече от веднъж, и да работим с Node.js Задачата не може да бъде по -проста, тъй като само с присвояването на нова стойност на атрибута ще можем да редактираме информацията, нека видим:
 var user = {name: 'Solvetic Developer', email: '[email protected]', възраст: 36, Date of Registration: new Date (), address: {city: 'Madrid', country: 'Spain'}} user . email = '[email protected]'; user.age = 18; console.log (потребител);
Нека да видим как атрибутите на нашия обект бяха успешно презаписани:

В допълнение към редактирането на информацията за атрибут, можем да добавим нов атрибут към нашия JSON, нека видим как постигаме тази операция:

 var user = {name: 'Solvetic Developer', имейл: '[email protected]', възраст: 36, Дата на регистрация: нова дата (), адрес: {град: 'Madrid', държава: 'Spain'}}; console.log (потребител); user ['position'] = 'Главен редактор'; console.log (потребител);
Ако изпълним нашия пример, можем да видим нашия първоначален обект и след това включването на нов атрибут в края му, което ни улеснява да добавяме атрибути към нашия обект без много усилия, нека да видим.

4. Редактиране на атрибутите


Видяхме как да създадем обект JSON и как да се справим ефективно с него, но можем да отидем по -далеч и да комбинираме това с колекцията Node.js, получавайки нов тип елемент, масив JSON, който не е нищо повече от колекция от JSON обекти. За да илюстрираме това, ще създадем обект, който ще съхранява данните на потребителя във връзка с поредица от закупени продукти, нека видим:
 var date = нова дата (); var транзакции = {id: 1, потребител: 'Solvetic', dateTran: дата, подробности: [{код: 'p01', продукт: 'PS4', цена: 350}, {код: 'p02', продукт: '3DS ', цена: 199}, {код:' p03 ', продукт:' kindle ', цена: 60}]}
За достъп до него просто трябва да използваме console.log () с името на новия ни обект, нека видим отговора от конзолата.

Както виждаме, редът на нашата структура е много по -чист и по -лесен за достъп за по -голям брой атрибути, дори в случай, че имаме изключително голям брой, можем да преминем през нашия JSON масив и да получим параметрите му, както следва:

 за (var i = 0; i
За да завършим, нека видим отговора на конзолата при изпълнение на примера.

Това сме го виждали Работа с JSON с Node.js Той е едновременно лесен и ефективен, като ни помага с различни функции, които има, а неговото естествено боравене прави работата с този тип обекти една от най -простите задачи, които можем да намерим.

wave wave wave wave wave