我在我的javascript中做一个console.log语句,以记录一个javascript对象。我想知道是否有一种方法,一旦完成-复制该对象作为javascript代码。我要做的是转换使用ajax创建的对象,将xml提要解析为静态javascript对象,以便文件可以在本地运行,而不需要服务器。我在chrome检查器窗口中包含了对象的截图,这样你就可以看到我正在尝试做什么。
当前回答
使用“Store as a Global Variable”是有效的,但它只获得对象的最终实例,而不是记录对象的时刻(因为您可能希望在对象发生变化时比较它们)。为了获得对象在被修改时的确切时间点,我使用这个…
function logObject(object) {
console.info(JSON.stringify(object).replace(/,/g, ",\n"));
}
这样称呼它…
logObject(puzzle);
您可能希望删除.replace(/。/g, ",\n")正则表达式,如果你的数据碰巧有逗号在其中。
其他回答
你现在可以在Chrome中通过右键单击对象并选择“存储为全局变量”:http://www.youtube.com/watch?v=qALFiTlVWdg来实现这一点
如果你已经发送了一个请求对象,你可以从Chrome ->网络选项卡复制它。
Request Payload - >查看源
将其添加到控制台并执行
copy(JSON.stringify(foo));
这将把JSON复制到剪贴板
使用“Store as a Global Variable”是有效的,但它只获得对象的最终实例,而不是记录对象的时刻(因为您可能希望在对象发生变化时比较它们)。为了获得对象在被修改时的确切时间点,我使用这个…
function logObject(object) {
console.info(JSON.stringify(object).replace(/,/g, ",\n"));
}
这样称呼它…
logObject(puzzle);
您可能希望删除.replace(/。/g, ",\n")正则表达式,如果你的数据碰巧有逗号在其中。
这将通过省略递归的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;
}, ' ');
}
推荐文章
- 如何在Typescript中解析JSON字符串
- Javascript reduce()在对象
- 在angularJS中& vs @和=的区别是什么
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- JavaScript中的querySelector和querySelectorAll vs getElementsByClassName和getElementById
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?