最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

nodejs是服務(wù)器端的javascript的處理平臺(tái)。json(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。我們?cè)趯懛?wù)端的程序時(shí)往往需要使用json來處理數(shù)據(jù)。

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

第一

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

$ sudo apt-get install nodejs

安裝完畢, 我們可以使用如下命令進(jìn)行測(cè)試:

$ nodejs -v
v0.10.25

第二

準(zhǔn)備一個(gè)測(cè)試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);
? ? ? ? });
})();

第四

測(cè)試和運(yùn)行

$ ./main.js test.json
wanger
1999

node.js解析本地json

具體操作:

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

從文件讀取json

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

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

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

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

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

解析json字符串為json對(duì)象

jsonplust是解析json的一個(gè)開源庫(kù)使用非常簡(jiǎn)單。 

安裝:

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對(duì)象的方式訪問里面的數(shù)據(jù)了。

擴(kuò)展

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

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地址

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

相關(guān)文章

  • linux 下以二進(jìn)制的方式安裝 nodejs

    linux 下以二進(jìn)制的方式安裝 nodejs

    這篇文章主要介紹了linux 下以二進(jìn)制的方式安裝 nodejs,文中給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • node.js實(shí)現(xiàn)快速截圖

    node.js實(shí)現(xiàn)快速截圖

    本文給大家匯總介紹了幾種node.js實(shí)現(xiàn)快速截屏的方法,這里分享給大家,希望大家能夠喜歡。
    2016-08-08
  • Node.js下自定義錯(cuò)誤類型詳解

    Node.js下自定義錯(cuò)誤類型詳解

    在JavaScript里面,運(yùn)行過程中的錯(cuò)誤的類型總是被人忽略,這篇文章給大家詳細(xì)介紹了如何在Node.js下自定義錯(cuò)誤類型,對(duì)大家學(xué)習(xí)或者使用Node.js具有一定的參考借鑒價(jià)值,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-10-10
  • Node.js 實(shí)現(xiàn)簡(jiǎn)單的無侵入式緩存框架的方法

    Node.js 實(shí)現(xiàn)簡(jiǎn)單的無侵入式緩存框架的方法

    這篇文章主要介紹了Node.js 實(shí)現(xiàn)簡(jiǎn)單的無侵入式緩存框架的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 推薦 21 款優(yōu)秀的高性能 Node.js 開發(fā)框架

    推薦 21 款優(yōu)秀的高性能 Node.js 開發(fā)框架

    Node.js是JavaScript中最為流行的框架之一,易于創(chuàng)建可擴(kuò)展的Web應(yīng)用。Node.js包含不同類型框架,包括MVC, full-stack,REST API以及Generators。借助這些框架使Node.js更加易于使用,它還支持眾多特性功能,只需幾個(gè)步驟就可快速搭建強(qiáng)大的Web應(yīng)用。本文為大家推薦21款
    2014-08-08
  • node如何實(shí)現(xiàn)簡(jiǎn)單的腳手架淺析

    node如何實(shí)現(xiàn)簡(jiǎn)單的腳手架淺析

    在工作中,需要開發(fā)一個(gè)腳手架,用于給相關(guān)用戶提供相關(guān)的開發(fā)便利性,下面這篇文章主要給大家介紹了關(guān)于node如何實(shí)現(xiàn)簡(jiǎn)單的腳手架的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Node.js操作系統(tǒng)OS模塊用法分析

    Node.js操作系統(tǒng)OS模塊用法分析

    這篇文章主要介紹了Node.js操作系統(tǒng)OS模塊用法,結(jié)合實(shí)例形式分析了nodejs OS模塊常見函數(shù)功能及簡(jiǎn)單使用技巧,需要的朋友可以參考下
    2019-01-01
  • 詳解前端任務(wù)構(gòu)建利器Gulp.js使用指南

    詳解前端任務(wù)構(gòu)建利器Gulp.js使用指南

    這篇文章主要介紹了前端任務(wù)構(gòu)建利器Gulp.js使用指南,對(duì)Gulp.js感興趣的同學(xué),可以參考下
    2021-04-04
  • node+koa+canvas繪制出貨單、收據(jù)票據(jù)的方法

    node+koa+canvas繪制出貨單、收據(jù)票據(jù)的方法

    在生成票據(jù)需求中,我們會(huì)想到前端生成或者后端生成返回圖片地址訪問兩個(gè)方法,前端生成則不需要調(diào)用接口,而后端是在完成整個(gè)流程時(shí)就進(jìn)行生成然后把上傳的地址保存數(shù)據(jù)庫(kù),這篇文章主要介紹了node+koa+canvas繪制出貨單,收據(jù),票據(jù),需要的朋友可以參考下
    2022-09-09
  • node結(jié)合swig渲染摸板的方法

    node結(jié)合swig渲染摸板的方法

    本篇文章主要介紹了node結(jié)合swig渲染摸板的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04

最新評(píng)論

梁平县| 安图县| 霞浦县| 沙田区| 邹平县| 广东省| 探索| 上栗县| 五原县| 延寿县| 武冈市| 西乌珠穆沁旗| 历史| 陆丰市| 吴川市| 丰都县| 儋州市| 上蔡县| 德庆县| 龙山县| 泉州市| 辽宁省| 额敏县| 威远县| 三门县| 会宁县| 广安市| 麻栗坡县| 盐山县| 泰来县| 涞源县| 闵行区| 福安市| 茌平县| 西盟| 故城县| 香港 | 固阳县| 丰台区| 金坛市| 苍南县|