Руковање ЈСОН -ом са Ноде.јс

Један од најпопуларнијих и најефикаснијих формата за читање и писање података је ЈСОН или скраћеница на енглеском језику. ЈаваСцрипт Објецт Нотатион, који има унапред дефинисан формат и не зависи од било ког програмског језика, омогућавајући комуникацију између апликација неприметно и неприметно.

Али не само ЈСОН порасла је популарност, ЈаваСцрипт Као програмски језик то је и учинио, и то захваљујући свом развојном окружењу тзв Ноде.јс што нам омогућава да га покренемо на страни сервера.

Ноде.јс изворно и лако подржава објекте типа ЈСОН Што се тиче комуникације података, хајде да видимо онда различите начине које имамо у Ноде.јс -у да бисмо извршили руковање ЈСОН у нашем коду.

1. Креирајте ЈСОН објекат


Једна од главних операција с којима морамо научити руковати за управљање ЈСОН -ом је стварање објекта као таквог, који ћемо захваљујући овом стварању моћи брзо и лако приступити његовим различитим атрибутима.

За ово ћемо креирати нову датотеку под називом јсон_цреатион.јс који ће садржати декларацију нашег ЈСОН објекта званог усер и имаће неколико својстава својствених њој, да видимо како то изгледа:

 вар усер = {наме: 'Солветиц Девелопер', емаил: 'солутионтиц@кккк.цом', старост: 36, Датум регистрације: нови Датум ()}
Као што видимо, структура ЈСОН-а поштује облик кључ-вредност који почиње своју декларацију са заградама, где можемо пронаћи неколико типова вредности, од низова знакова, бројева, па чак и користимо функцију Датум () да бисте добили тренутни датум. Декларација нашег објекта је прилично лака за читање, како за људско око, тако и за било који језик, чак можемо прогласити угнежђени ЈСОН објекат да групише што је могуће више вредности, да видимо како то изгледа у следећем примеру:
 вар усер = {наме: 'Солветиц Девелопер', емаил: 'солутионтиц@кккк.цом', старост: 36, Датум регистрације: нови Датум (), адреса: {град: 'Мадрид', држава: 'Шпанија'}}
Са нашим ЈСОН -ом креираним ако желимо да видимо његов садржај као и његову структуру помоћу цонсоле.лог () можемо то видети без проблема, да видимо како изгледа наш коначни код:
 вар усер = {наме: 'Солветиц Девелопер', емаил: 'солутионтиц@кккк.цом', старост: 36, Датум регистрације: нови Датум (), адреса: {град: 'Мадрид', држава: 'Шпанија'}} конзола . лог (корисник);
Коначно, да бисмо је покренули на нашој конзоли, само морамо да употребимо команду ноде иза које следи назив датотеке. Можете да тестирате одговор са конзоле.

Као што смо могли видети, креирање нашег ЈСОН објекта било је изузетно једноставно, и то захваљујући развојном окружењу и његовом изворном руковању и без проблема овог формата.

2. Приступање атрибутима


Могућност приказивања нашег ЈСОН -а је корисна ако желимо да проверимо његову структуру у потрази за грешкама или неким другим детаљима, али генерално након генерисања овог објекта најсигурније је да морамо приступити његовим атрибутима, проверити да ли атрибут постоји или ако примили операцијом а РЕСТфул АПИ проверите које атрибуте има наш објекат.

Ако већ знамо неко објектно оријентисано програмирање, знамо да објекти имају атрибуте и можемо им приступити путем инстанце предметног објекта, у Ноде.јс Много је једноставније, само користећи објекат и назив атрибута можемо му приступити, да видимо како ћемо ово применити на наш претходно креирани објекат:

 вар усер = {наме: 'Солветиц Девелопер', емаил: 'солутионтиц@ккккк.цом', старост: 36, Датум регистрације: нови Датум (), адреса: {град: 'Мадрид', држава: 'Шпанија'}} конзола . лог ('Корисничко име:' + корисничко име); цонсоле.лог ('Корисник е -поште:' + усер.емаил); цонсоле.лог ('Старост корисника:' + усер.аге); цонсоле.лог ('Датум регистрације:' + усер.РегистратионДате); цонсоле.лог ('Земља корисника:' + усер.цоунтри);
Хајде да покренемо наш пример и видимо одговор помоћу конзоле.

[прилог = 7621: хандлинг-јсон-нодејс-2.јпг]

На овај начин бисмо могли приступити свим нашим атрибутима без већих проблема, међутим, ако смо посматрачи, схватамо да у случају Земља корисника дао нам је одговор на недефинисан, и то је зато што је угнијежђени објект, али не бисмо требали бринути јер само постављањем садржаног објекта можемо приступити атрибуту:

 цонсоле.лог ('Земља корисника:' + усер.дирецтион.цоунтри);
Поновимо наш пример и видимо како је наша грешка исправљена.

Успјели смо то ријешити без проблема, али то је зато што знамо структуру нашег ЈСОН -а, али у случају да га не познајемо, морамо пријећи на друге технике које ће нам помоћи у овом задатку, јер је то као једноставно, као извођење итерације атрибута нашег објекта, да видимо:

 вар усер = {наме: 'Солветиц Девелопер', емаил: 'солутионтиц@кккк.цом', старост: 36, Датум регистрације: нови Датум (), адреса: {град: 'Мадрид', држава: 'Шпанија'}} за (вар атр у кориснику) {цонсоле.лог (атр); }
Покрећемо наш пример и видимо како примамо све атрибуте садржане у нашем објекту.

На овај начин, ако не познајемо структуру нашег ЈСОН -а, можемо је лако добити, а у случају да имамо угнежђене објекте можемо учинити следеће:

 фор (вар атр у усер.аддресс) {цонсоле.лог (атр); }
Где ће нам приликом извршавања дати атрибуте садржане у нашем угнежђеном објекту:

Коначно, ако желимо бити директнији и знати постоји ли неки одређени атрибут према његовом идентификатору, можемо користити функцију хасОвнПроперти () који ће вратити тачно или лажно ако постоји или не:

 вар усер = {наме: 'Солветиц Девелопер', емаил: 'солутионтиц@кккк.цом', старост: 36, Датум регистрације: нови Датум (), адреса: {град: 'Мадрид', држава: 'Шпанија'}} конзола . лог (усер.хасОвнПроперти ('име')); цонсоле.лог (усер.хасОвнПроперти ('дни')); цонсоле.лог (усер.хасОвнПроперти ('аге'))); цонсоле.лог (усер.хасОвнПроперти ('титле'));
Погледајмо одговор конзоле нашег примјера гдје морамо добити труе за први и трећи атрибут, а фалсе за преостала два.

3. Уређивање атрибута


Много пута када манипулишемо овим типовима објеката мораћемо да уредимо информације које њихови атрибути садрже више пута и да радимо са Ноде.јс Задатак не може бити једноставнији, јер ћемо само додељивањем нове вредности атрибуту моћи да уредимо информације, да видимо:
 вар усер = {наме: 'Солветиц Девелопер', емаил: 'солутионтиц@кккк.цом', старост: 36, Датум регистрације: нови Датум (), адреса: {град: 'Мадрид', држава: 'Шпанија'}} корисник . емаил = 'анотхермаил@емаил.цом'; усер.аге = 18; цонсоле.лог (корисник);
Погледајмо како су атрибути нашег објекта успешно преписани:

Осим уређивања информација о атрибуту, можемо додати нови атрибут у наш ЈСОН, да видимо како постижемо ову операцију:

 вар усер = {наме: 'Солветиц Девелопер', емаил: 'солутионтиц@кккк.цом', старост: 36, Датум регистрације: нови Датум (), адреса: {град: 'Мадрид', држава: 'Шпанија'}}; цонсоле.лог (корисник); усер ['поситион'] = 'Главни уредник'; цонсоле.лог (корисник);
Ако покренемо наш пример, можемо видети наш оригинални објекат, а затим и додавање новог атрибута на његовом крају, што нам олакшава додавање атрибута у наш објекат без много напора, да видимо.

4. Уређивање атрибута


Видели смо како створити објекат ЈСОН и како то ефикасно руковати, али можемо ићи даље и комбиновати ово са збирком Ноде.јс, добијајући нову врсту елемента, ЈСОН низ који није ништа друго до колекција ЈСОН објеката. Да бисмо то илустровали, направићемо објекат који ће водити евиденцију корисника у односу на серију купљених производа, да видимо:
 вар дате = нев Дате (); вар трансакције = {ид: 1, корисник: 'Солветиц', датумТран: датум, детаљи: [{код: 'п01', производ: 'ПС4', цена: 350}, {код: 'п02', производ: '3ДС ', цена: 199}, {код:' п03 ', производ:' киндле ', цена: 60}]}
Да бисмо му приступили, морамо само да користимо цонсоле.лог () са именом нашег новог објекта, да видимо одговор са конзоле.

Као што видимо, редослед наше структуре је много чистији и лакши за приступ за већи број атрибута, чак и у случају да имамо изузетно велики број, можемо проћи кроз наш ЈСОН низ и добити његове параметре на следећи начин:

 за (вар и = 0; и
За крај, да видимо одговор конзоле при извршавању примера.

Видели смо то Руковање ЈСОН -ом са Ноде.јс Једноставан је и ефикасан, помаже нам у различитим функцијама које има, а домаће руковање чини рад са овом врстом објеката једним од најједноставнијих задатака које можемо пронаћи.

wave wave wave wave wave