漂亮地将 JSON 转储到文本

Posted

技术标签:

【中文标题】漂亮地将 JSON 转储到文本【英文标题】:Pretty dump JSON to Text 【发布时间】:2013-12-06 02:14:44 【问题描述】:

有没有办法将 JSON 对象转储到文本文件以便从 Node 服务器进行调试?

我正在处理一个非常大的 JSON 对象,其中包含各种其他对象的数组。

理想情况下,生成的 txt 文件应该像这样正确格式化


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

解决方案:

    var fs = require('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 ");
        
    ); 

【问题讨论】:

这个问题应该有帮助:***.com/questions/5670752/… 谢谢,这正是我想要的 这是***.com/questions/7428235/…的副本吗? 【参考方案1】:

如果你的 json 对象被称为 json,你可以使用:JSON.stringify(json, null, 2);,它会给你一个字符串,然后你可以转储。

【讨论】:

这会正确格式化所有内容吗?在 perl 中,有一个 Dumper 模块可以为您执行此操作。 JS中是否存在一个 @BuildingJarl 它会很好地打印出来。您可以将传递的整数参数调整为所需的缩进级别。我认为你必须小心的是,如果它在转储到文本文件时打印一个新行,我不确定。

以上是关于漂亮地将 JSON 转储到文本的主要内容,如果未能解决你的问题,请参考以下文章

如何以漂亮的打印风格在 JSON 中编写数据框?

在 Python 中轻松地将变量从/向命名空间/字典转储

PHP:如何从字符串转储中提取 JSON 字符串

从 MySql 转储导入到配置单元

如何将字典转储到 JSON 文件?

将大型嵌套字典转储到 JSON 对象中[重复]