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

NodeJs讀取JSON文件格式化時(shí)的注意事項(xiàng)

 更新時(shí)間:2016年09月25日 11:05:15   作者:lopcomvir  
本文是作者在進(jìn)行NodeJs開(kāi)發(fā)時(shí)偶然發(fā)現(xiàn)的問(wèn)題,經(jīng)過(guò)一番努力,最終找到解決方案,分享給大家,有需要的小伙伴可以參考下

進(jìn)行NodeJs開(kāi)發(fā)時(shí)偶然發(fā)現(xiàn)的一個(gè)雷點(diǎn)

正常情況下從JSON文件讀取到字符后再通過(guò)JSON.parse沒(méi)什么問(wèn)題,只要格式不出錯(cuò)

有時(shí)在確保JSON格式正確時(shí)仍然會(huì)出現(xiàn)unexpected token異常

經(jīng)過(guò)調(diào)查發(fā)現(xiàn)里面有不會(huì)顯示的unicode字符

于是確定是UTF-8的問(wèn)題,utf-8分有dom版和無(wú)dom版,一般編輯器不刻意設(shè)置會(huì)默認(rèn)保存為帶dom的utf8

解決辦法是先將讀到的文件轉(zhuǎn)成二進(jìn)制,然后檢索dom符號(hào)刪除

代碼實(shí)現(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ù)庫(kù)的操作步驟

    Node.js連接MySQL數(shù)據(jù)庫(kù)的操作步驟

    在現(xiàn)代 Web 開(kāi)發(fā)中,與數(shù)據(jù)庫(kù)的交互是不可避免的一部分,Node.js提供了許多庫(kù)和模塊,使得連接和操作 MySQL 數(shù)據(jù)庫(kù)變得相對(duì)簡(jiǎn)單,本文將介紹如何使用Node.js連接MySQL數(shù)據(jù)庫(kù),并進(jìn)行一些基本的操作,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • Node.js的環(huán)境安裝配置(使用nvm方式)

    Node.js的環(huán)境安裝配置(使用nvm方式)

    在我們前端開(kāi)發(fā)工程中,很多繁瑣機(jī)械的操作都是會(huì)慢慢的被抽離出來(lái)的,比如當(dāng)我們?yōu)閐om操作和瀏覽器兼容性感到厭煩時(shí),jQuery出現(xiàn)了,隨著時(shí)間的發(fā)展,JavaScript現(xiàn)在被應(yīng)用到了服務(wù)器中,但是首先第一步我們要學(xué)會(huì)如何安裝配置Node.js的環(huán)境,本文是使用nvm方式,來(lái)一起看看。
    2016-10-10
  • Nodejs提取網(wǎng)址參數(shù)解決“querystring”已棄用問(wèn)題

    Nodejs提取網(wǎng)址參數(shù)解決“querystring”已棄用問(wèn)題

    無(wú)論是前端還是后端,經(jīng)常出現(xiàn)的應(yīng)用場(chǎng)景是URL中參數(shù)的處理,下面這篇文章主要給大家介紹了關(guān)于Nodejs提取網(wǎng)址參數(shù)解決“querystring”已棄用問(wèn)題的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Node中的streams流的具體使用

    Node中的streams流的具體使用

    本文主要介紹了Node中的streams流的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 詳解node Async/Await 更好的異步編程解決方案

    詳解node Async/Await 更好的異步編程解決方案

    這篇文章主要介紹了詳解Async/Await 更好的異步編程解決方案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Grunt針對(duì)靜態(tài)文件的壓縮,版本控制打包的實(shí)例講解

    Grunt針對(duì)靜態(tài)文件的壓縮,版本控制打包的實(shí)例講解

    下面小編就為大家?guī)?lái)一篇Grunt針對(duì)靜態(tài)文件的壓縮,版本控制打包的實(shí)例講解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 如何能分清npm cnpm npx nvm

    如何能分清npm cnpm npx nvm

    這篇文章主要介紹了如何能分清npm cnpm npx nvm,本文就詳細(xì)的來(lái)介紹一下區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • NodeJs中express框架的send()方法簡(jiǎn)介

    NodeJs中express框架的send()方法簡(jiǎn)介

    這篇文章主要介紹了NodeJs中express框架的send()方法簡(jiǎn)介,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • npm?install?XXX安裝路徑文件夾權(quán)限問(wèn)題的解決過(guò)程

    npm?install?XXX安裝路徑文件夾權(quán)限問(wèn)題的解決過(guò)程

    這篇文章主要給大家介紹了關(guān)于npm?install?XXX安裝路徑文件夾權(quán)限問(wèn)題(npm?ERR!?The?operation?was?rejected?by?your?operating?system.errno?-4080)的解決過(guò)程,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Node.js返回JSONP詳解

    Node.js返回JSONP詳解

    下面小編就為大家?guī)?lái)一篇Node.js返回JSONP詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-05-05

最新評(píng)論