我正在尝试调试运行在Nodejs上的移动网站。在某些部分中有以下几行:
var log_line = {accessCount: accessCount, x: x, time: t};
logstream.write(JSON.stringify(log_line));它们被认为是记录用户页面请求的部分。路径定义为app.get('/:x?.:y?.:z?', function(req, res){ )。
对于某些用户,这很好用,但对于其他用户,我只在日志中找到一行"{"accessCount": 1, "time": "10/10/10"}“。这怎么可能呢?难道它不应该至少打印x而不打印任何东西吗?造成这种影响的原因是什么?
发布于 2011-10-30 03:09:30
如果x为undefined,则不会打印:
> JSON.stringify({x:undefined})
'{}'发布于 2011-10-30 15:29:59
如果你正在寻找一个解决方案来克服它。将代码更改为
if (!x) {
x = "NOT_DEFINED" // or your own place holder value
}
var log_line = {accessCount: accessCount, x: x :, time: t};或者更简洁的说法是
var log_line = {accessCount: accessCount, x: x ? x : "NOT_DEFINED", time: t};https://stackoverflow.com/questions/7940816
复制相似问题