将javascript对象打印到txt文件

时间:2017-12-22 13:20:27

标签: javascript text javascript-objects

我有一个像这样的javascript对象

    var data = {
    "person": {
        "name": "John Doe",
        "address": "N.Y City",
        "city": "N.Y",
        "country": "USA",
        "phone": "Ph: 12345"
  }

我想像这样打印: Person.Name----Person.Address----Person.Phone 在txt文件中。 到目前为止,我可以使用console.log这样做

console.log(data['person']['name'] + "----" + data['person']['address'] + "----" + data['person']['phone'])

控制台中的输出是: “John Doe ---- N.Y City ---- Ph:12345”

我不想打印json的所有值。我想打印其中一些,我也希望它们之间有“----”。

是否可以在txt文件中打印?我还没什么好的。

1 个答案:

答案 0 :(得分:0)

在Node.js上下文中,您可以这样做:

const fs = require('fs');
const yourObject = {
 // ...addProperties here.
}

fs.writeFile("/path/to/save.txt", JSON.stringify(yourObject), 'utf8', function (err) {
    if (err) {
        return console.log(err);
    }

    console.log("The file was saved!");
}); 

在浏览器上下文中您可以这样做:

// Function to download data to a file
function download(data, filename, type) {
    var file = new Blob([data], {type: type});
    if (window.navigator.msSaveOrOpenBlob) // IE10+
        window.navigator.msSaveOrOpenBlob(file, filename);
    else { // Others
        var a = document.createElement("a"),
                url = URL.createObjectURL(file);
        a.href = url;
        a.download = filename;
        document.body.appendChild(a);
        a.click();
        setTimeout(function() {
            document.body.removeChild(a);
            window.URL.revokeObjectURL(url);  
        }, 0); 
    }
}

声明该功能后,执行以下操作:

download(JSON.stringify(yourObject), 'file', 'txt') // file is filename, and txt is type of file.