无法使用 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-loader
或 copy-webpack-plugin
专门用于此文件,因为它足够大。考虑与 webpack bundle 并行加载。如果您的应用程序有很大的部分不需要每种情况,则必须将它们移至separated bundles。
【讨论】:
我应该从这个 URL 安装 webpack:npmjs.com/package/react-native-webpack 我混淆了标签,我只看到webpack
标签,并没有检查那个问题有标签react-native
。看来你还有一个问题。我将删除答案。 (尝试使用其他方式加载fs
或fetch
)。如果 fs
或 fetch
有帮助 - 请留下反馈。
好的,谢谢,我尝试了 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)