Kaip skaityti JSON failus Node.js?

Kaip Skaityti Json Failus Node Js



JSON yra failo formatas, naudojamas svetainės ar programos testavimo metu, siekiant užtikrinti, kad duomenys būtų gauti ir išsiųsti nepriekaištingai. JSON formatas naudojamas tik duomenims perduoti iš vienos dalies į kitą tinkle. Jame yra rakto reikšmės formato duomenys ir neleidžiama prarasti duomenų.

Šiame tinklaraštyje paaiškinama, kaip skaityti JSON failus naudojant Node.js.

Kaip skaityti JSON failus Node.js?

Yra trys būdai, kuriais pasirinktus JSON failo duomenis galima nuskaityti Node.js. Gauti duomenys gali būti rodomi konsolėje arba svetainėje, naudojant konkretų prievado numerį. Šiame skyriuje pateikiami visi galimi JSON failų skaitymo būdai.







Būtinos sąlygos:

Prieš pereidami prie praktinio įgyvendinimo, pirmiausia pažiūrėkite į JSON tipo failą, kurį reikia perskaityti naudojant Node.js. Mūsų atveju tai yra „ jsonData “ failą su šiais duomenimis:



{

'vardas' : 'Andersonas' ,

'amžius' : 19 ,

'Lytis' : 'Patinas' ,

'departamentas' : 'chemija' ,

'kraujo grupė' : 'B+' ,

'svoris' : '72' ,

'įgūdžiai' : 'programavimas' ,

'vieta' : 'Naujasis Bostonas'

}

1 būdas: naudokite „require()“ metodą, kad skaitytumėte JSON failą Node.js

Norėdami perskaityti duomenis, saugomus atsitiktiniame JSON tipo faile, naudokite „ reikalauti () “ metodas, kuris nuskaito funkcijas arba metodus, esančius išoriniuose moduliuose. Jis paima modulio pavadinimą skliausteliuose ir grąžina objektą, kuriame yra to modulio metodas, savybės arba įvykiai.



Tuo pačiu būdu, apeinant JSON failo kelią į šį metodą, grąžinamas objektas, kuriame yra visi failo duomenys. Tai paprasčiausias ir lengviausias būdas nuskaityti bet kokio tipo failus Node.js.





Pirmiausia sukurkite failą pavadinimu „read.js“ ir pridėkite toliau pateiktą kodą į failą, kad praktiškai parodytumėte šį metodą:

leiskite jsonReadData = reikalauti ( './jsonData.json' ) ;

konsolė. žurnalas ( jsonReadData ) ;

Aukščiau pateiktame kode:



  • JSON failo kelias pateikiamas „ reikalauti () “ metodą kaip parametrą, kad būtų galima gauti duomenis ir išsaugoti juos objekte „jsonReadData“.
  • console.log() “ metodas naudojamas gautiems duomenims rodyti konsolėje.

Vykdykite „read.js“ failą naudodami nurodytą „ mazgas “ komanda:

mazgo failo pavadinimas

Žemiau pateikta išvestis rodo, kad JSON failo duomenys buvo gauti naudojant „ reikalauti () “ metodas:

2 būdas: naudokite funkciją „readFile()“, kad skaitytumėte JSON failą Node.js

skaityti failą () “ yra kita funkcija, nuskaitanti failo duomenis iš Failų sistema (fs) neblokuodamas vykdymo proceso dėl jo asinchroniškumo. Ji taip pat naudoja atgalinio ryšio funkciją, kad atliktų papildomas gautų duomenų funkcijas. Pavyzdžiui, jis naudojamas JSON failo duomenims gauti.

Sintaksė

„“ sintaksė skaityti failą () ' funkcija ' fs “ modulis nurodytas taip:

fsObj. skaityti failą ( fileName, encodeType, customCallbackFunction )

Aukščiau pateiktoje sintaksėje:

  • fsObj “ yra objektas arba egzempliorius, iškviečiantis „fs“ modulį, norint naudoti funkciją „readFile()“.
  • failo pavadinimas “ yra konkretus failas, kurį reikia „perskaityti“.
  • encodeType “ yra pasirenkamas parametras, nurodantis kodavimo tipą, pvz., utf8. Jei jis nebus pateiktas, duomenys bus grąžinti kaip „buferis“.
  • CustomCallbackFunkcija “ yra funkcija, kuri vykdoma sėkmingai nuskaitius failą.

Pereikite per toliau pateiktą kodo bloką, kuriame yra to paties JSON failo „ jsonData “ yra nuskaitomas ir rodomas konsolėje naudojant „ skaityti failą () “ metodas:

konst fsObj = reikalauti ( 'fs' ) ;

fsObj. skaityti failą ( „jsonData.json“ , ( įvykoKlaida, turinys ) => {

jeigu ( įvyko Err ) mesti įvyko Err ;

tegul jsonData = JSON. analizuoti ( turinys ) ;

konsolė. žurnalas ( jsonData ) ;

} ) ;

konsolė. žurnalas ( „Būsimų procesų vykdymas neužblokuotas“ ) ;

Aukščiau pateikto kodo paaiškinimas pateiktas žemiau:

  • Pirma, „ fs ' modulis yra importuotas į dabartinį ' read.js ' failas ir jo objektas yra saugomas kintamajame pavadinimu ' fsObj “.
  • Tada iškvieskite „ skaityti failą () “ metodas naudojant „ fsObj “ kintamasis, kuris perduoda JSON failą kaip pirmąjį parametrą, o atgalinio skambinimo funkciją – kaip antrąjį parametrą. Be to, atgalinio skambinimo funkcija turi du parametrus ' įvyko Err “ ir „ turinys “.
  • Atskambinimo funkcijoje naudokite „ jeigu “, kad atliktumėte klaidų tvarkymą.
  • Po to praeikite „ turinys ' parametras ' JSON.parse() “ metodas konvertuoti duomenis į JSON formatą, kad būtų lengviau skaityti.
  • Galų gale, už ' skaityti failą () “ metodas rodo atsitiktinį tekstą konsolėje, kad patvirtintų, jog jis neblokuoja kito proceso, kol nebus vykdomas ankstesnis procesas.

Dabar paleiskite „read.js“ failą naudodami toliau nurodytą komandą:

mazgo skaitymas

Išvestis rodo, kad JSON duomenys sėkmingai nuskaityti neužblokuojant būsimo proceso vykdymo:

3 būdas: naudokite funkciją „readFileSync()“, kad skaitytumėte JSON failą Node.js

readFileSync() “ funkciją taip pat teikia Failų sistema (fs) modulis, kuris skaito failą sinchroniniu būdu. Jis sustabdo programos vykdymą tol, kol jai priskirta užduotis nebus atlikta. Kitaip tariant, vadovaujamasi „pirmas atėjai, pirmas“ metodika. Tai visiškai priešinga aptartam “ skaityti failą () ' funkcija.

Sintaksė

Metodo „readFileSync()“ sintaksė parašyta žemiau:

fsObj. skaitykite failų sinchronizavimą ( failo kelias, kodo tipas )

Aukščiau pateiktoje sintaksėje:

  • bylos kelias “ yra pasirinkto failo kelias.
  • encodeType “ nurodo kodavimo tipą pagal reikalavimus.

Apibrėžto metodo įgyvendinimas nurodytas žemiau esančiame kode:

konst fsObj = reikalauti ( 'fs' ) ;

tegul turinys = fsObj. skaitykite failų sinchronizavimą ( „jsonData.json“ ) ;

tegul jsonData = JSON. analizuoti ( turinys ) ;

konsolė. žurnalas ( jsonData ) ;

konsolė. žurnalas ( „Vykdymas dabar užblokuotas būsimiems procesams“ ) ;

Aukščiau pateikto kodo bloko aprašymas parašytas čia:

  • Pirmiausia importuokite „ fs “ modulį ir išsaugokite jį kaip objektą kintamajame “ fsObj “.
  • Tada iškvieskite „ readFileSync() “ funkciją ir kaip parametrą perduokite JSON failo pavadinimą. Jis grąžins nurodyto failo duomenis, saugomus kintamajame ' jsonData “.
  • Norėdami rodyti duomenis skaitomu formatu, naudokite „ JSON.parse() “ metodą failo turiniui, saugomam „ turinys “ kintamąjį ir tada parodykite jį konsolėje.

Galiausiai paleiskite failą, kad pamatytumėte išvestį:

mazgo skaitymas

Matyti, kad išvestis rodo JSON failo duomenis blokuojant visus būsimus procesus:

Šiame vadove paaiškinta, kaip skaityti JSON failus Node.js.

Išvada

Jei norite skaityti JSON failo duomenis Node.js, naudokite „ reikalauti “ metodą, nes jis nuskaito bet kokio tipo failų ar išorinių modulių duomenis. Be to, „ skaityti failą () “ ir „ readFileSync() “ funkcijos fs “ modulis taip pat gali būti naudojamas šiai užduočiai atlikti. Kai failo duomenys bus nuskaityti naudojant šias funkcijas, taikykite „ JSON.parse() “ metodas, kad turinys būtų skaitomas. Šiame vadove paaiškinti metodai ir funkcijos, padedančios skaityti JSON failus Node.js.