使用调试时console.log(),如何获取完整对象?
const myObject = {
"a":"a",
"b":{
"c":"c",
"d":{
"e":"e",
"f":{
"g":"g",
"h":{
"i":"i"
}
}
}
}
};
console.log(myObject);
Run Code Online (Sandbox Code Playgroud)
输出:
{ a: 'a', b: { c: 'c', d: { e: 'e', f: [Object] } } }
Run Code Online (Sandbox Code Playgroud)
但我也希望看到财产的内容f.
我有一个对象(解析树),其中包含对其他节点的引用的子节点.
我想序列化这个对象,使用JSON.stringify(),但我得到:JSON.stringify()因为我提到的结构.
我怎么能解决这个问题?对于我来说,序列化对象中是否表示了对其他节点的这些引用并不重要.
另一方面,在创建对象时从对象中删除这些属性似乎很乏味,我不想对解析器(narcissus)进行更改.
有没有办法将JSON对象转储到文本文件中以便从Node服务器进行debuging?
我正在处理一个包含各种其他对象数组的非常大的JSON对象.
理想情况下,生成的txt文件应该像这样正确格式化
{
type: 'Program',
body: [
{
type: 'VariableDeclaration',
declarations: [
{
type: 'AssignmentExpression',
operator: =,
left: {
type: 'Identifier',
name: 'answer'
},
right: {
type: 'Literal',
value: 42
}
}
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
解:
var fs = require('fs');
var fs = require('fs');
var myData = {
name:'bla',
version:'1.0'
}
var outputFilename = '/tmp/my.json';
fs.writeFile(outputFilename, JSON.stringify(myData, null, 4), function(err) {
if(err) {
console.log(err);
} else {
console.log("JSON saved to ");
}
});
Run Code Online (Sandbox Code Playgroud)