我在网上搜索了很多,但没有找到任何东西。这里的问题似乎主要解决PHP,所以希望有人可以帮助我使用JavaScript。
基本上我正在读取文本文件并将每一行转换为JSON对象。我使用.split()将该行转换为数组。但是,当我这样做时,数组用单引号括起单个字符串。当我打印生成的对象时,它也具有单引号中的值。但是我需要它们用JSON的双引号。这可能是一个非常愚蠢的问题,或根本不是问题,但我不知道如何去做。我的代码和终端输出如下。
提前谢谢!!
lineReader.open('test.txt', function(reader){
num=0;
while (reader.hasNextLine()){
reader.nextLine(function(line){
//console.log(line);
line = line.toLowerCase();
lineArr = line.split('","');
//console.log(lineArr);
var last = lineArr.length - 1;
lineArr[0] = lineArr[0].slice(1);
lineArr[last] = lineArr[last].replace('"\r', '');
if (lineArr[last].slice(-1) === '"'){
lineArr[last] = lineArr[last].replace('"', '');
};
//console.log(lineArr);
if(lineArr[0] === 'Name'){
biz['Columns'] = lineArr;
} else{
var id = 'biz-' + num
biz[id] = {
"value": {
"name": lineArr[0],
"address": lineArr[1],
"city": lineArr[2],
"province": lineArr[3],
"postal": lineArr[4] }
};
};
});
num++;
}
console.log(biz);
});
Output:
{ 'biz-0':
{ value:
{ name: 'name',
address: 'address',
city: 'city',
province: 'province',
postal: 'postal code' } } }
答案 0 :(得分:0)
我建议不尝试构建您自己的解析器...请改用JSON.parse()
和/或JSON.stringify();
。如果你需要支持旧的IE版本(或者被迫以怪癖模式渲染)......包括Crockford的json2.js
https://github.com/douglascrockford/JSON-js