2017-03-16 53 views
0

我收到此JSON形式的客户端APINode.js的FS保存对象

{ COD: '100', ATD: '838', PAG: '246', VENC:“2017-01- 27 00:00:00' , }

我在VAR对象保存在这个JSON,然后我试图挽救这个变量对象是这样的:

fs.writeFile("boleto.txt", object, 'utf8', function(err){ 
     if(err){ 
      console.log(err); 
     } else { 
      console.log("Log salvo"); 
     } 
    }); 

但结果在BOLETO.TXT是这样的:对象对象]

我需要这样的:

COD: '100', ATD: '838', PAG: '246', VENC: '2017年1月27日00:00:00'

我做错了什么?

ps .:当我打电话给console.log(对象)日志是正确的。

+0

JSON.stringify它。文件只是一堆字节 - 基本上是一个大字符串。甚至二进制文件。他们不能存储对象。您需要序列化您的对象,就像您需要在网络上发送对象一样。有几个序列化选项:xml,asn1,bencoding(torrent文件),但在js中,最简单的方法是简单地输出JSON。 – slebetman

回答

0

您需要先将您的JSON串联起来。

fs.writeFile("boleto.txt", JSON.stringify(object, null, 2), 'utf8', function(err){ 
    if(err){ 
     console.log(err); 
    } else { 
     console.log("Log salvo"); 
    } 
}); 

JSON.stringify(object, null, 2)允许跳过的键/值,即之间线具有更可读的JSON。

0
//This will work JSON.stringify, JSON.stringify converts json object into a string that can be writable in text file instead of [object object] 
fs.writeFile("boleto.txt", JSON.stringify(object), 'utf8', function(err){ 
     if(err){ 
      console.log(err); 
     } else { 
      console.log("Log salvo"); 
     } 
    }); 
+1

尽管此代码可能会回答问题,但提供有关如何解决问题和/或为何解决问题的其他上下文可以提高答案的长期价值。 –

+0

你是对的,答案已被编辑:) – tyehia