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


当前回答

将其添加到控制台并执行

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的答案。

使用“Store as a Global Variable”是有效的,但它只获得对象的最终实例,而不是记录对象的时刻(因为您可能希望在对象发生变化时比较它们)。为了获得对象在被修改时的确切时间点,我使用这个…

function logObject(object) {
    console.info(JSON.stringify(object).replace(/,/g, ",\n"));
}

这样称呼它…

logObject(puzzle);

您可能希望删除.replace(/。/g, ",\n")正则表达式,如果你的数据碰巧有逗号在其中。

您可以将对象作为字符串进行控制台

var objToString = JSON.stringify(obj)
console.log(objToString );

然后在一个编辑器,如notepad++粘贴输出,然后ehit插件格式

JSFormat

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

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

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

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

在代码中使用。

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

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

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

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

右键单击要存储的数据

首先,右键点击你想要存储的数据->选择“存储为全局变量” 新的temp变量如下所示:(temp3变量): 控制台中出现新的临时变量 第二次使用命令复制(temp_variable_name),如图片: 在这里输入图像描述 之后,您可以将数据粘贴到任何您想要的地方。 希望有用的/