關於Node.js中HTTP請求返回數據需要JSON解析的問題


在編寫項目過程中,需要用到實時數據的推送需求, 所以首先想到了NodeJS的websocket模塊

在網上找了一個聊天室的例子  然后將其改為自己需求的推送

 

其中遇到的問題

 

返回數據問題  :   由於對NodeJS不是非常熟悉  所以采用偷懶將數據處理等放在PHP后端處理   然后使用NodeJS進行請求   然后在這個過程中發現請求回的數據是ArrayBuffer   然后百度發現是因為需要JSON格式轉換   所以又找到了JSON.parse()函數進行轉換,剛剛開始的時候是非常好用的  但是后來發現了問題就是在數據量非常大的時候發現了  JSON.parse 報錯誤   

 

 Unexpected end of JSON input

 

經過各種尋找之后發現是   在請求的時候

req.on('data',function(data){

datas = JSON.parse(data)

})

 

 

這個過程是會分成兩次進行執行    將返回的數據切割成等同大小的數據了  所以會出現解析問題    最后采用的解決辦法

let datas = '';

req.on('data',function(data){

    datas += data;

})

 

req.on('end',function(){

    datas1 = JSON.parse(datas);

})

 

 

這樣改過之后發現就可以了       

 

最后總結: 問題原因還是在於本人對NodeJS 不夠了解   畢竟不是專業的     所以記錄下來  希望以后不會忘記  計算忘記也可以找到解決辦法

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM