NodeJs讀取JSON文件格式化時的注意事項
進(jìn)行NodeJs開發(fā)時偶然發(fā)現(xiàn)的一個雷點
正常情況下從JSON文件讀取到字符后再通過JSON.parse沒什么問題,只要格式不出錯
有時在確保JSON格式正確時仍然會出現(xiàn)unexpected token異常
經(jīng)過調(diào)查發(fā)現(xiàn)里面有不會顯示的unicode字符
于是確定是UTF-8的問題,utf-8分有dom版和無dom版,一般編輯器不刻意設(shè)置會默認(rèn)保存為帶dom的utf8
解決辦法是先將讀到的文件轉(zhuǎn)成二進(jìn)制,然后檢索dom符號刪除
代碼實現(xiàn)部分
function readText(pathname) { var bin = fs.readFileSync(pathname); if (bin[0] === 0xEF && bin[1] === 0xBB && bin[2] === 0xBF) { bin = bin.slice(3); } return bin.toString('utf-8'); }
相關(guān)文章
Node.js連接MySQL數(shù)據(jù)庫的操作步驟
在現(xiàn)代 Web 開發(fā)中,與數(shù)據(jù)庫的交互是不可避免的一部分,Node.js提供了許多庫和模塊,使得連接和操作 MySQL 數(shù)據(jù)庫變得相對簡單,本文將介紹如何使用Node.js連接MySQL數(shù)據(jù)庫,并進(jìn)行一些基本的操作,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11Nodejs提取網(wǎng)址參數(shù)解決“querystring”已棄用問題
無論是前端還是后端,經(jīng)常出現(xiàn)的應(yīng)用場景是URL中參數(shù)的處理,下面這篇文章主要給大家介紹了關(guān)于Nodejs提取網(wǎng)址參數(shù)解決“querystring”已棄用問題的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08詳解node Async/Await 更好的異步編程解決方案
這篇文章主要介紹了詳解Async/Await 更好的異步編程解決方案,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05Grunt針對靜態(tài)文件的壓縮,版本控制打包的實例講解
下面小編就為大家?guī)硪黄狦runt針對靜態(tài)文件的壓縮,版本控制打包的實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09npm?install?XXX安裝路徑文件夾權(quán)限問題的解決過程
這篇文章主要給大家介紹了關(guān)于npm?install?XXX安裝路徑文件夾權(quán)限問題(npm?ERR!?The?operation?was?rejected?by?your?operating?system.errno?-4080)的解決過程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04