我正在我的 javascript 中执行 console.log 语句以记录一个 javascript 对象。我想知道是否有办法,一旦完成 - 将该对象复制为 javascript 代码。我想要做的是将使用 ajax 创建的对象转换为静态 javascript 对象,以便文件可以在没有服务器的情况下在本地运行。我在 chrome 检查器窗口中包含了对象的屏幕截图,因此您可以看到我正在尝试做什么。
Javascript / Chrome - 如何从 webkit 检查器复制对象作为代码
IT技术
javascript
google-chrome
object
webkit
2021-03-09 10:30:49
6个回答
右键单击 Chrome 控制台中的对象,然后
Store as Global Variable
从上下文菜单中进行选择。它将返回类似于temp1
变量名的内容。Chrome 也有一个
copy()
方法,所以copy(temp1)
在控制台中应该将该对象复制到剪贴板。
关于递归对象的注意事项:如果您尝试复制递归对象,您将获得[object Object]
. 出路是尝试copy(JSON.stringify(temp1))
,该对象将作为有效的 JSON 完全复制到您的剪贴板,因此您可以使用许多资源之一根据需要对其进行格式化。
如果您收到Uncaught TypeError: Converting circular structure to JSON
消息,您可以使用JSON.stringify
的第二个参数(它是一个过滤器函数)来过滤掉有问题的循环属性。有关更多详细信息,请参阅此堆栈溢出答案。
您可以使用copy(JSON.stringify(Object_Name));将对象复制到剪贴板。在控制台中。
例如:- 将以下代码复制并粘贴到您的控制台中,然后按 ENTER。现在,尝试将其粘贴(Windows 的 CTRL+V 或 Mac 的 CMD+V)它在其他地方,您将获得 {"name":"Daniel","age":25}
var profile = {
name: "Daniel",
age: 25
};
copy(JSON.stringify(profile));
您现在可以通过右键单击对象并选择“存储为全局变量”在 Chrome 中完成此操作:http : //www.youtube.com/watch?v=qALFiTlVWdg
请按照以下步骤操作:
- 从代码中使用 console.log 输出对象,如下所示:console.log(myObject)
- 右键单击对象,然后单击“存储为全局对象”。Chrome 会在此时打印变量的名称。让我们假设它被称为“temp1”。
- 在控制台中,键入:
JSON.stringify(temp1)
。 - 此时,您将看到整个 JSON 对象作为可以复制/粘贴的字符串。
- 此时,您可以使用诸如http://www.jsoneditoronline.org/ 之类的在线工具来美化您的字符串。