欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用nodejs解析json數(shù)據(jù)

 更新時間:2022年09月28日 14:55:45   作者:tlight  
這篇文章主要介紹了使用nodejs解析json數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

nodejs解析json數(shù)據(jù)

nodejs是服務(wù)器端的javascript的處理平臺。json(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。我們在寫服務(wù)端的程序時往往需要使用json來處理數(shù)據(jù)。

這里我們用一個簡單的例子來演示如何用nodejs來處理json數(shù)據(jù)文件。

第一

我們需要在ubuntu14.04上安裝nodejs,我們可以使用如下命令:

$ sudo apt-get install nodejs

安裝完畢, 我們可以使用如下命令進行測試:

$ nodejs -v
v0.10.25

第二

準(zhǔn)備一個測試json文件, test.json,內(nèi)容如下:

{
? "person": {
? ? "name": "wanger",
? ? "birth": "1999"
? }
}

第三

創(chuàng)建js腳本來解析json文件,main.js

#!/usr/bin/nodejs
var cwd = process.argv[1].substring(0, process.argv[1].lastIndexOf("/"));
var fs = require('fs');
?
function load(file, cb) {
? ? ? ? fs.readFile(file, function(err, data) {
? ? ? ? ? ? ? ? if (err)
? ? ? ? ? ? ? ? ? ? ? ? throw err;
? ? ? ? ? ? ? ? cb(JSON.parse(data.toString()));
? ? ? ? });
}
?
(function() {
? ? ? ? if (process.argv.length < 2) {
? ? ? ? ? ? ? ? console.log("usage\n\t" + process.argv[1] + " loadfile");
? ? ? ? ? ? ? ? return;
? ? ? ? }
? ? ? ? load(process.argv[2], function(obj) {
? ? ? ? ? ? ? ? console.log("%s\n", obj.person.name);
? ? ? ? ? ? ? ? console.log("%s\n", obj.person.birth);
? ? ? ? });
})();

第四

測試和運行

$ ./main.js test.json
wanger
1999

node.js解析本地json

具體操作:

從文件讀取json并且解析字符串為json對象

從文件讀取json

node.js中的文件操作基本都是在fs模塊中,這里用的是同步讀取文件,讀出來是個字符串。

const fs ? ?= require('fs');
var jsonfile = fs.readFileSync(__dirname+"/test.json", "utf8");
console.log(jsonfile);

其中require(‘fs’): 導(dǎo)入fs模塊

readFileSync(“文件路徑”,“編碼格式”)

注:使用的是同步的方式讀取的文件

解析json字符串為json對象

jsonplust是解析json的一個開源庫使用非常簡單。 

安裝:

npm install --save-dev jsonplus

使用:

var jsonplus = require('jsonplus');
// Parse like you would with JSON.parse
var response = jsonplus.parse(jsonfile);
console.log(response["type"]);

其中require(‘jsonplus’)導(dǎo)入jsonplus模塊

jsonplus.parse(jsonfile)

jsonfile是剛剛從json文件中讀出來的字符串

接著就可以用json對象的方式訪問里面的數(shù)據(jù)了。

擴展

該模塊還可以使用模板方法:

Resolve函數(shù):

var resolve = require('jsonplus').resolve
// This will resolve all reference strings on the given object
var object = resolve(AlreadyParsedJSON);
// resolve has a second argument, which provides the context for references
var object = resolve({ full: '{{ first }} {{ last }}' }, { first: 'john', last: 'doe' });
console.log(object) // { full: 'john doe' }

參考資料-github地址

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Egret引擎開發(fā)指南之視覺編程

    Egret引擎開發(fā)指南之視覺編程

    本部分內(nèi)容詳細(xì)介紹了Egret中關(guān)于視覺編程顯示對象的架構(gòu)設(shè)計以及一些概念,希望對大家能有所幫助
    2014-09-09
  • node.js中實現(xiàn)雙重身份驗證機制的方法詳解

    node.js中實現(xiàn)雙重身份驗證機制的方法詳解

    雙重身份驗證(Two-factor?authentication)是一種安全機制,它要求用戶提供兩種不同的身份驗證因素來訪問他們的帳戶,下面我們就來學(xué)習(xí)一下如何使用speakeasy在nodejs中實現(xiàn)雙重身份驗證吧
    2023-10-10
  • Node.js高級編程cluster環(huán)境及源碼調(diào)試詳解

    Node.js高級編程cluster環(huán)境及源碼調(diào)試詳解

    這篇文章主要為大家介紹了Node.js高級編程cluster環(huán)境及源碼調(diào)試詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Node.js如何快速導(dǎo)出多表頭的excel文件實現(xiàn)方法

    Node.js如何快速導(dǎo)出多表頭的excel文件實現(xiàn)方法

    這篇文章主要為大家介紹了Node.js如何快速導(dǎo)出多表頭的excel文件實現(xiàn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-06-06
  • Node.js開發(fā)第三方微信公眾平臺

    Node.js開發(fā)第三方微信公眾平臺

    這篇文章主要介紹了Node.js開發(fā)第三方微信公眾平臺的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • nodejs如何在typescript項目中申明全局變量

    nodejs如何在typescript項目中申明全局變量

    這篇文章主要介紹了nodejs在typescript項目中申明全局變量,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2024-05-05
  • 如何在node.js中使用?JsonWebToken模塊進行token加密

    如何在node.js中使用?JsonWebToken模塊進行token加密

    目前在web框架中最流行的身份驗證是使用jsonwebtoken,簡稱jwt.可以設(shè)置加密方式,過期時間,存放個人信息,逆解析,下面這篇文章主要給大家介紹了關(guān)于如何在node.js中使用?JsonWebToken模塊進行token加密的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • Nodejs腳本實現(xiàn)批量修改文件

    Nodejs腳本實現(xiàn)批量修改文件

    當(dāng)我們想要更改一下所有的文件,如何可以在修改到這些文件的同時又能實現(xiàn)節(jié)省時間呢,通過這篇文章我們將來學(xué)習(xí)一下怎么通過這個腳本來實現(xiàn)這個功能,希望對大家有所幫助
    2023-11-11
  • node.js學(xué)習(xí)之base64編碼解碼

    node.js學(xué)習(xí)之base64編碼解碼

    開發(fā)者對Base64編碼肯定很熟悉,是否對它有很清晰的認(rèn)識就不一定了。實際上Base64已經(jīng)簡單到不能再簡單了,這篇文章給大家通過示例代碼介紹了node.js對字符串和圖片base64編碼解碼的方法,有需要的朋友們可以通過本文來進行學(xué)習(xí),下面來一起看看吧。
    2016-10-10
  • 關(guān)于node.js版本npm -v報錯問題的解決方法

    關(guān)于node.js版本npm -v報錯問題的解決方法

    最近工作中遇到了些問題,這里總結(jié)下,下面這篇文章主要給大家介紹了關(guān)于node.js版本npm -v報錯問題的解決方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04

最新評論