无法使用 console.log 打印完整的 JSON

Posted

技术标签:

【中文标题】无法使用 console.log 打印完整的 JSON【英文标题】:Unable to print complete JSON using console.log 【发布时间】:2017-06-29 16:12:06 【问题描述】: 我正在尝试将 JSON 文件导入 Sample 变量,但 Sample 变量只显示前几个字符。 sample.json 为 20,00,000 个字符,当我在 Console 上打印 Sample 变量时,仅打印前 3,756 个字符。通过 console.log 可以打印的字符是否有任何限制?

完整的数据保留在Sample variable 中,我通过搜索出现在sample.json 文件末尾的字符串来验证它

var Sample = require('./sample.json');
export default class proj extends Component 
  constructor(props) 
    super(props);
    this.state = 
      locations: [],
    ;
  

  loadOnEvent()    
      console.log(Sample);
     //this.state= locations : Sample ;
  

有没有其他方法可以打印Sample变量中的数据。

【问题讨论】:

【参考方案1】:

尝试使用其他方式加载。如果文件是远程的,则使用fetch;如果文件是本地的,则使用fs

如果是@Shota 假设的内存问题,请考虑使用服务器端处理对 json 文件的请求。设置微服务在启动时加载 json 文件并处理对从 json 文件解析的数据结构的请求是一个很好的解决方案。


webpack 用例答案:

将 webpack 配置为使用 file-loadercopy-webpack-plugin 专门用于此文件,因为它足够大。考虑与 webpack bundle 并行加载。如果您的应用程序有很大的部分不需要每种情况,则必须将它们移至separated bundles。

【讨论】:

我应该从这个 URL 安装 webpack:npmjs.com/package/react-native-webpack 我混淆了标签,我只看到webpack 标签,并没有检查那个问题有标签react-native。看来你还有一个问题。我将删除答案。 (尝试使用其他方式加载fsfetch)。如果 fsfetch 有帮助 - 请留下反馈。 好的,谢谢,我尝试了 fetch 但无法使用它加载本地文件 请检查更新的问题,问题似乎出在 console.log @oklas 可能是控制台有一些限制或者是错误。你是不是要揭露它。为什么需要输出完整数据? (尝试部分输出)例如浏览器显示部分数据,但其控制台是交互式的并且可以扩展。在大多数情况下拉这么大的文件并不是一个好主意,考虑创建微服务。【参考方案2】:

您必须在记录之前使用JSON.stringify 将 json 转换为字符串。

/* ... */
  loadOnEvent()    
      console.log(JSON.stringify(Sample));
     //this.state= locations : Sample ;
  
/* ... */

【讨论】:

是否可以解析成字符串

以上是关于无法使用 console.log 打印完整的 JSON的主要内容,如果未能解决你的问题,请参考以下文章

如何在heroku中显示node.js中的所有console.log?

如何在 Node.js console.log() 中获取完整对象,而不是“[Object]”?

如何获取浏览器|控制台打印出来的完整数据,也就是console.log()出来的数据

VUE项目如何在移动端查看打印日志(console.log)

即使它打印在 console.log 中,我也无法映射对象数组

#yyds干货盘点#Console 3000字完整指南,让你不只会用console.log !