node.js - 如何在nodejs中打印[object Object]中的完整数据
问题描述
我有一个脚本可以使用 Chrome 开发工具打印页面的网络响应。脚本是这样的:
browser.cdp('Network', 'enable')
browser.on('Network.responseReceived', (params) => {
console.log(`Loaded ${params.response}`)
})
browser.url('https://www.google.com')
})
但是在console.log中,它会打印出来
'[对象对象]'
我尝试了不同的方法,例如-
console.log('Status: ' + util.inspect(`${params.response}`))
console.log("Session: %j", `${params.response}`);
console.log(`Loaded ${params.response}`)
console.dir(`${params.response}`, { depth: null });
仍然没有运气。如何打印该对象内的所有内容。我需要打印并将该对象数组中的所有内容保存到 har 文件中。请让我知道我该怎么做。
解决方案
默认情况下,对象不会被深度记录。可能是因为可能存在循环属性。当你写:
console.log(`Loaded ${params.response}`) // Loaded [object Object]
它类似于:
console.log(params.response.toString()) // [object Object]
相反,使用JSON.stringify()
:
const object = {property: 'value'}
console.log(object.toString()) // [object Object]
console.log(JSON.stringify(object)) // {property: "value"}
您还可以指定输出格式的格式以便更好地阅读:
console.log(JSON.stringify(object), null, 2) // Format with 2 spaces identation
// {
// "property": "value"
// }
推荐阅读
- android - 从活动返回到上次访问的意图
- vba - 将段落数组添加到 Word 文档的快速方法
- javascript - 未找到 React JS 模块
- android - CollapsingToolbarLayout 字体未更改
- php - 当用户单击循环内的按钮时创建会话变量
- c# - 水晶报表小数精度
- php - 评论时突然开始出现“Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException”
- oracle - 水晶报表开发无法连接oracle数据库服务器
- javascript - Javascript:调用函数onsubmit不拦截参数
- r - read.csv 导致的行数比实际行数多