Node.js 操作 JSON 文件

Rogerh.eth
誌瓜筆記
Published in
4 min readOct 23, 2019

JSON 簡介

無論何種類型開發的開發者多多少少都會遇到 JSON 格式的文件。

例如我今天想要用 Node.js 在 Discord 上開發一個 Bot,而其中需要 JSON 文件來幫我記錄如用戶資訊、活動檔案等資料,簡單來說,您可以將 JSON 文件當作您的資料庫,以此來記錄任何想要存儲的資料。
因此,學習如何用程式設計語言操作 JSON 文件是必須的,本篇教程我將會以 Node.js 來操作 JSON 文件。

如果對於 Node.js 不熟悉的讀者,可以參考以下網站連結:Node.js 教程

本文將會清楚的解釋 JSON 基礎操作的每一個細節與原因,希望讀者看完此篇教程,便能將這項能夠應用到非常多地方的基礎學會,接下來,請您跟著操作一遍,讓我們來一起實現對 JSON 的基礎操作。

JSON 基礎操作

首先,我們需要先準備一個 JSON 檔,將其命名為 userInfo.json ,內容可以隨意設置,也可以按照如下範例:

接下來,便可以 node.js 來實施各種操作,
包含:【新增】、【刪除】、【修改】與【查詢】

A. 新增 JSON 內容

新增一個 node.js 檔案用以完成接下來新增內容到 JSON 檔的操作:

接著,我們要執行這個 node.js 檔案,
在終端輸入: node test.js 即可成功執行!(將 test.js 更改為您的命名)

輸出結果如下圖:

而 userInfo.json 會直接新增以上代碼所編寫的 newUser 變數,
json 檔內容修改為下圖的樣子:

B. 刪除 JSON 內容

新增一個 node.js 檔案用以完成接下來刪除 JSON 檔內容的操作:

同以上 A 章節的執行方法,輸入: node test.js

結果如下圖,可以看到剛剛新增的內容已經從 userInfo.json 裡刪除:

C. 修改 JSON 內容

新增一個 node.js 檔用以增加 100 點至 id = 2 的 userInfo :

用以上方法再次執行,輸出結果如下圖,會增加 100 點至 “points” 中:

D. 查詢 JSON 內容

完成以上這些操作,相信查詢 JSON 內容將不再困難,查詢不需再做其他修正,只需要根據您要查詢的條件將其列印出來即可,讀者在閱讀教程時也會發現在真正開始操作前,都會先查詢到想操作的部分,才會開始執行如增加、刪除、修正等操作,其實查詢的教學已經在不知不覺中就已經完成了!

但您應該會發現一個問題,以上 A-C 的操作,不都是為了改變 JSON 文件的內容才會使用上述做法嗎?然而查詢不需要改變 JSON 文件的內容,有沒有什麼比較簡短的做法,而不會有殺雞焉用牛刀的感覺?

答案是有的,其實我們只需要 var userJSON = require('./userInfo.json'); 便能夠順利查詢與讀取該 JSON 文件的內容,舉例來說,我想要讀取用戶為 id=1points 的值:

如此是不是簡單許多呢?用以上方法再次執行,只要您的終端機輸出 0 ,就表示您成功查詢 JSON 內容了。

結論

本篇教程以 node.js 示範了如何操作 JSON 文件。JSON 一直以來都是非常重要的資料存取格式,除了瞭解其架構,學會使用 JSON 文件也是一項基本技能。

恭喜您成功學會了【新增】、【刪除】、【修改】與【查詢】JSON 文件,如果有任何問題,歡迎在底下留言區留言或討論!

參考資料

Unexpected token o in JSON at position 1 报错原因

利用nodejs对本地json文件进行增删改查

JS中Json資料的處理和解析JSON資料的方法詳解

Node.js 教程

Day8 — Node.js 檔案系統

--

--

Rogerh.eth
誌瓜筆記

Sharing what i have learned for becoming a great developer.