我在我的javascript中做一个console.log语句,以记录一个javascript对象。我想知道是否有一种方法,一旦完成-复制该对象作为javascript代码。我要做的是转换使用ajax创建的对象,将xml提要解析为静态javascript对象,以便文件可以在本地运行,而不需要服务器。我在chrome检查器窗口中包含了对象的截图,这样你就可以看到我正在尝试做什么。
当前回答
请遵循以下步骤:
使用console.log从代码中输出对象,如下所示: 右键单击对象,然后单击“存储为全局对象”。Chrome会在此时打印变量的名称。让我们假设它叫做“temp1”。 在控制台中,键入:JSON.stringify(temp1)。 此时,您将看到整个JSON对象作为一个可以复制/粘贴的字符串。 此时,您可以使用http://www.jsoneditoronline.org/等在线工具来修饰字符串。
其他回答
使用“Store as a Global Variable”是有效的,但它只获得对象的最终实例,而不是记录对象的时刻(因为您可能希望在对象发生变化时比较它们)。为了获得对象在被修改时的确切时间点,我使用这个…
function logObject(object) {
console.info(JSON.stringify(object).replace(/,/g, ",\n"));
}
这样称呼它…
logObject(puzzle);
您可能希望删除.replace(/。/g, ",\n")正则表达式,如果你的数据碰巧有逗号在其中。
将其添加到控制台并执行
copy(JSON.stringify(foo));
这将把JSON复制到剪贴板
在Chrome的控制台中右键单击一个对象,从上下文菜单中选择存储为全局变量。它将返回类似temp1这样的变量名。 Chrome也有一个copy()方法,所以copy(temp1)在控制台应该复制该对象到你的剪贴板。
注意递归对象:如果你试图复制一个递归对象,你会得到[object object]。解决方法是尝试copy(JSON.stringify(temp1)),对象将作为有效的JSON完全复制到剪贴板,因此您可以使用许多资源中的一种来格式化它。
如果你得到Uncaught TypeError: conversion circular structure to JSON消息,你可以使用JSON。Stringify的第二个参数(它是一个过滤器函数)来过滤掉有问题的循环属性。更多细节请参阅Stack Overflow的答案。
在Chrome 89或更高版本中,您可以简单地右键单击控制台中的对象并选择复制对象(ref)。这也工作在一些其他地方在Chrome开发工具,例如,同时调试或内部响应标签的网络请求。
另一个选择是使用copy命令原样:
var x = { a: 1, b: 2 };
copy(x);
原来的答案
您可以将对象作为字符串进行控制台
var objToString = JSON.stringify(obj)
console.log(objToString );
然后在一个编辑器,如notepad++粘贴输出,然后ehit插件格式
JSFormat
推荐文章
- 如何为Firebase构建云函数,以便从多个文件部署多个函数?
- 如何发送推送通知到web浏览器?
- AngularJS:工厂和服务?
- js:将一个组件包装成另一个组件
- 父ng-repeat从子ng-repeat的访问索引
- JSHint和jQuery: '$'没有定义
- 模仿JavaScript中的集合?
- 用JavaScript验证电话号码
- 如何在HTML5中改变视频的播放速度?
- 谷歌地图API v3:我可以setZoom后fitBounds?
- ES6/2015中的null安全属性访问(和条件赋值)
- 与push()相反;
- JS字符串“+”vs concat方法
- AngularJS使用ng-class切换类
- 访问Handlebars.js每次循环范围之外的变量