将.txt文件转换为JSON

时间:2016-10-01 06:58:29

标签: json api type-conversion

我想将一个相当无组织且非结构化的text文件转换为JSON格式。我希望能够使用城市ID信息。无论如何我可以将其转换为JSON吗?

更新:过了一段时间我也找到了这个解决方案。获取任何制表符分隔文本文件的JSON的非常简单的方法。

https://shancarter.github.io/mr-data-converter/

2 个答案:

答案 0 :(得分:4)

您可以尝试使用tsv2json此工具可以从stdin读取tsv文件并将json文件写入stdout。

它已在源文件中分发,要编译它,您需要下载D compiler,然后运行dmd tsv2json.d

如果您有更复杂的任务,还有另一个名为tsv-utils

的工具

答案 1 :(得分:0)

nodejs中的TSV到JSON

var file_name = 'city_list.txt';

var readline = require('readline');
var fs = require('fs');

var lineReader = readline.createInterface({
    input: fs.createReadStream(file_name)
});

var isHeader = false;
var columnNames = [];

function parseLine(line) {
    return line.trim().split('\t')
}

function createRowObject(values) {
    var rowObject = {};

    columnNames.forEach((value,index) => {
        rowObject[value] = values[index];
    });

    return rowObject;
}

var json = {};
json[file_name] = [];

lineReader.on('line', function (line) {
    if(!isHeader) {
        columnNames = parseLine(line);
        isHeader = true;
    } else {
        json[file_name].push(createRowObject(parseLine(line)));
    }
});

lineReader.on('close', function () {
    fs.writeFileSync(file_name + '.json', JSON.stringify(json,null,2));
});