2016-10-01 62 views
5

Tôi muốn chuyển đổi tệp text chưa được cấu trúc và không có cấu trúc sang định dạng JSON. Tôi muốn có thể sử dụng thông tin ID thành phố. Có anyway tôi có thể chuyển đổi này để JSON?Chuyển đổi tệp .txt thành JSON

CẬP NHẬT: Tôi cũng tìm thấy giải pháp này sau một thời gian. Cách rất đơn giản để lấy JSON của bất kỳ tệp văn bản được phân tách bằng tab nào.

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

+0

Hãy hiểu '.txt' là một phần mở rộng và' các định dạng dữ liệu là json'. để chuyển đổi bất kỳ thứ gì thành 'json', phải có một số kiểu quan hệ như cặp' khóa-giá trị', 'bảng-cột', vv .. một tệp văn bản không có cấu trúc không thể được chuyển đổi trực tiếp sang định dạng' json'. – Abhinay

+0

Ngoài ra, hãy viết những gì bạn đã làm hoặc cố gắng cho đến bây giờ trong câu hỏi – Abhinay

+0

Vì vậy, nếu tôi tìm thấy tệp .txt trông giống như tên thành phố: cityID, trong danh sách. Điều đó có thể được chuyển đổi sau đó phải không? –

Trả lời

4

Bạn có thể thử sử dụng công cụ này tsv2json có thể đọc một tập tin tsv từ stdin và ghi tệp json để stdout.

Nó được phân phối trong tệp nguồn, để biên dịch nó, bạn cần tải xuống D compiler và sau đó chạy dmd tsv2json.d.

Nếu bạn có nhiệm vụ phức tạp hơn có một công cụ có tên tsv-utils

+0

Không có ý tưởng gì về điều đó có nghĩa, nhưng ít nhất bây giờ tôi có một điểm khởi đầu. Cảm ơn. –

+0

Nếu bạn không có kinh nghiệm lập trình, bạn có thể bắt đầu sử dụng cuốn sách này http://ddili.org/ders/d.en/ Nhiệm vụ của bạn rất đơn giản. Bạn chỉ cần kiến ​​thức cơ bản –

+0

Ok, tôi đã hy vọng có một cách để chuyển đổi các chuỗi chưa được tổ chức thành một tệp văn bản sang định dạng JSON. Một cách mà sẽ tạo ra một cấu trúc ... vì vậy tôi sẽ xem xét điều này. Cảm ơn bạn –

0

TSV để JSON trong nodejs

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)); 
}); 
Các vấn đề liên quan