我在我的javascript中做一个console.log语句,以记录一个javascript对象。我想知道是否有一种方法,一旦完成-复制该对象作为javascript代码。我要做的是转换使用ajax创建的对象,将xml提要解析为静态javascript对象,以便文件可以在本地运行,而不需要服务器。我在chrome检查器窗口中包含了对象的截图,这样你就可以看到我正在尝试做什么。
当前回答
如果你已经发送了一个请求对象,你可以从Chrome ->网络选项卡复制它。
Request Payload - >查看源
其他回答
所以,。我有这个问题。除了我得到了[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);
原来的答案
这将通过省略递归的Window和Node对象来帮助对深层对象进行字符串化。
function stringifyObject(e) {
const obj = {};
for (let k in e) {
obj[k] = e[k];
}
return JSON.stringify(obj, (k, v) => {
if (v instanceof Node) return 'Node';
if (v instanceof Window) return 'Window';
return v;
}, ' ');
}
你可以使用copy(JSON.stringify(Object_Name))将一个对象复制到剪贴板;在控制台。
复制和粘贴下面的代码在您的控制台,并按ENTER。现在,尝试粘贴(CTRL+V for Windows或CMD+V for mac)它到其他地方,你会得到{"name":"Daniel","age":25}
var profile = {
name: "Daniel",
age: 25
};
copy(JSON.stringify(profile));
更新- Chrome 89
右键单击->复制对象
来源:(https://developers.google.com/web/updates/2021/01/devtools?utm_source=devtools)
同样来自调试器
推荐文章
- 如何为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每次循环范围之外的变量