我在我的javascript中做一个console.log语句,以记录一个javascript对象。我想知道是否有一种方法,一旦完成-复制该对象作为javascript代码。我要做的是转换使用ajax创建的对象,将xml提要解析为静态javascript对象,以便文件可以在本地运行,而不需要服务器。我在chrome检查器窗口中包含了对象的截图,这样你就可以看到我正在尝试做什么。


当前回答

更新- Chrome 89

右键单击->复制对象

来源:(https://developers.google.com/web/updates/2021/01/devtools?utm_source=devtools)

同样来自调试器

其他回答

所以,。我有这个问题。除了我得到了[object object]

我相信你可以用递归来做这个,但这对我来说是可行的:

以下是我在控制台所做的:

var object_that_is_not_shallow = $("all_obects_with_this_class_name");
var str = '';
object_that_is_not_shallow.map(function(_,e){
    str += $(e).html();
});
copy(str);

然后粘贴到编辑器中。

在Chrome 89或更高版本中,您可以简单地右键单击控制台中的对象并选择复制对象(ref)。这也工作在一些其他地方在Chrome开发工具,例如,同时调试或内部响应标签的网络请求。

另一个选择是使用copy命令原样:

var x = { a: 1, b: 2 };
copy(x);

原来的答案

更新- Chrome 89

右键单击->复制对象

来源:(https://developers.google.com/web/updates/2021/01/devtools?utm_source=devtools)

同样来自调试器

将其添加到控制台并执行

copy(JSON.stringify(foo));

这将把JSON复制到剪贴板

这实际上帮了我的忙我的情况有点极端。但对于我所做的,它是有效的。

我正在测试的设备上使用safari调试工具,我永远不能复制对象,就像你可以在Chrome中简单地右键单击并复制对象。

JSON。Stringify和粘贴内容到https://beautifier.io,但随后不得不尝试重新格式化它。

我最终使用本地存储和复制方法。

在代码中使用。

localStorage.setItem('dataCopy', JSON.stringify(data));

然后将其粘贴到控制台,然后单击enter。

copy(JSON.parse(window.localStorage.dataCopy))

然后在剪贴板中有对象数组。