我在我的javascript中做一个console.log语句,以记录一个javascript对象。我想知道是否有一种方法,一旦完成-复制该对象作为javascript代码。我要做的是转换使用ajax创建的对象,将xml提要解析为静态javascript对象,以便文件可以在本地运行,而不需要服务器。我在chrome检查器窗口中包含了对象的截图,这样你就可以看到我正在尝试做什么。
当前回答
在Chrome的控制台中右键单击一个对象,从上下文菜单中选择存储为全局变量。它将返回类似temp1这样的变量名。 Chrome也有一个copy()方法,所以copy(temp1)在控制台应该复制该对象到你的剪贴板。
注意递归对象:如果你试图复制一个递归对象,你会得到[object object]。解决方法是尝试copy(JSON.stringify(temp1)),对象将作为有效的JSON完全复制到剪贴板,因此您可以使用许多资源中的一种来格式化它。
如果你得到Uncaught TypeError: conversion circular structure to JSON消息,你可以使用JSON。Stringify的第二个参数(它是一个过滤器函数)来过滤掉有问题的循环属性。更多细节请参阅Stack Overflow的答案。
其他回答
请遵循以下步骤:
使用console.log从代码中输出对象,如下所示: 右键单击对象,然后单击“存储为全局对象”。Chrome会在此时打印变量的名称。让我们假设它叫做“temp1”。 在控制台中,键入:JSON.stringify(temp1)。 此时,您将看到整个JSON对象作为一个可以复制/粘贴的字符串。 此时,您可以使用http://www.jsoneditoronline.org/等在线工具来修饰字符串。
如果你已经发送了一个请求对象,你可以从Chrome ->网络选项卡复制它。
Request Payload - >查看源
将其添加到控制台并执行
copy(JSON.stringify(foo));
这将把JSON复制到剪贴板
右键单击要存储的数据
首先,右键点击你想要存储的数据->选择“存储为全局变量” 新的temp变量如下所示:(temp3变量): 控制台中出现新的临时变量 第二次使用命令复制(temp_variable_name),如图片: 在这里输入图像描述 之后,您可以将数据粘贴到任何您想要的地方。 希望有用的/
使用“Store as a Global Variable”是有效的,但它只获得对象的最终实例,而不是记录对象的时刻(因为您可能希望在对象发生变化时比较它们)。为了获得对象在被修改时的确切时间点,我使用这个…
function logObject(object) {
console.info(JSON.stringify(object).replace(/,/g, ",\n"));
}
这样称呼它…
logObject(puzzle);
您可能希望删除.replace(/。/g, ",\n")正则表达式,如果你的数据碰巧有逗号在其中。
推荐文章
- 如何为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每次循环范围之外的变量