[問題] Node.js 資料處理
各位好,在Google一直搜尋解答方法,但是一直都沒成果
所以來這邊請教一下問題:
我想把一個檔案的內容變成JSON格式
檔案內容:
1 中文
2 or
3 &&
4 ABC
5 CD
...
想轉成JSON格式:
{'1':'中文',
'2' :'or',
'3' :'&&',
'4' :'ABC',
'5' :'CD'
...
}
有試過用replace所有的符號
但是會有出錯的狀況
感謝各位:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.199.232
→
01/29 23:55, , 1F
01/29 23:55, 1F
→
01/30 00:02, , 2F
01/30 00:02, 2F
→
01/30 00:04, , 3F
01/30 00:04, 3F
→
01/30 01:07, , 4F
01/30 01:07, 4F
→
01/30 01:27, , 5F
01/30 01:27, 5F
→
01/30 01:29, , 6F
01/30 01:29, 6F
→
01/30 01:30, , 7F
01/30 01:30, 7F
→
01/30 03:52, , 8F
01/30 03:52, 8F
→
01/30 03:52, , 9F
01/30 03:52, 9F
→
01/30 03:52, , 10F
01/30 03:52, 10F
推
01/30 10:26, , 11F
01/30 10:26, 11F
→
01/30 11:08, , 12F
01/30 11:08, 12F
推
01/31 17:03, , 13F
01/31 17:03, 13F
最近因為跑出去玩 所以這段時間都閒置
感謝各位的意見 我已使用以下的方法:
var fs = require('fs'),
Iconv = require('iconv').Iconv;
var box = {};
var buffer = fs.readFileSync(__dirname + '\\db\\text.txt'),
iconv = new Iconv( "UTF-16", "UTF-8");
var result = iconv.convert(buffer).toString("utf8");
var jsonString = "{"
var lines = result.split("\n");
for(var i = 0;i < lines.length - 1;i++){
var fields = lines[i].split("\t");
var tmp = parseInt(fields[0]);
//例外名單 去除含有特殊符號
if((tmp == 2392)||(tmp == 2393)||(tmp == 2394)||(tmp == 2395)||
(tmp == 2811)||(tmp == 2832)||(tmp == 6425)||
(tmp == 6426)||(tmp == 6427)||(tmp == 6428))
continue;
jsonString += '"' + parseInt(fields[0]) + '":"' + fields[1].substr(0,fields[1].length - 1) + '",';
}
jsonString += '"99999":"none"}';
box = JSON.parse(jsonString);
感謝各位的幫助
※ 編輯: vanillastarp 來自: 220.132.199.232 (02/04 18:53)
→
02/05 00:29, , 14F
02/05 00:29, 14F
→
02/05 00:30, , 15F
02/05 00:30, 15F