2013-11-21 80 views
3

有沒有辦法將JSON對象轉儲到文本文件以便從節點服務器進行調試?漂亮轉儲JSON到文本

我正在處理一個非常大的JSON對象,其中包含其他對象的各種數組。

在理想情況下所產生的txt文件應該被正確格式化這樣

{ 
    type: 'Program', 
    body: [ 
     { 
      type: 'VariableDeclaration', 
      declarations: [ 
       { 
        type: 'AssignmentExpression', 
        operator: =, 
        left: { 
         type: 'Identifier', 
         name: 'answer' 
        }, 
        right: { 
         type: 'Literal', 
         value: 42 
        } 
       } 
      ] 
     } 
    ] 
} 

解決方案:

變種FS =需要( 'FS');

var myData = { 
    name:'bla', 
    version:'1.0' 
} 

var outputFilename = '/tmp/my.json'; 

fs.writeFile(outputFilename, JSON.stringify(myData, null, 4), function(err) { 
    if(err) { 
     console.log(err); 
    } else { 
     console.log("JSON saved to "); 
    } 
}); 
+2

這個問題應該會有所幫助:http://stackoverflow.com/questions/5670752/write-pretty-json-to-file-using-node-js – tymeJV

+0

謝謝你是我正在尋找 – BuildingJarl

回答

7

如果你的JSON對象被稱爲json,你可以使用:JSON.stringify(json, null, 2);,會給你一個字符串,那麼你可以轉儲。

+0

將格式化一切正確? IN perl theres Dumper module that do you for this for you。是否存在JS – BuildingJarl

+1

@BuildingJarl它會很漂亮的打印它。你可以調整你傳遞給你需要的縮進級別的整數參數。我認爲你必須小心的是,如果它在轉儲到文本文件時打印新的一行,那我不確定。 –