当前位置:  开发笔记 > 编程语言 > 正文

node js函数返回[object Object]而不是字符串值

如何解决《nodejs函数返回[objectObject]而不是字符串值》经验,为你挑选了1个好方法。

我是java脚本和节点js的新手,我试图从MySQL DB获取一个值,返回值是[object Object]而不是字符串.我没有真正在网上找到任何答案是什么问题.我希望有人可以提供帮助.行值为[object Object].

这是我的功能

exports.getAllIdInfo=  function(dbConnection, tables ,id , callback){
        var tableName= tables[i];
        var tableVariable = tableName;
        var myQuery = 'SELECT time, ' + tableVariable + ' FROM ' + tableName + ' WHERE id= ' + id;
        var query = dbConnection.query(myQuery, function (err, row, result) {       
            console.log(query.sql);
            if (err) {
                console.log("getAllGoodIds error");
                console.error(err);
                return;
            }
            console.log("row is: " + row);
            callback(row);
        });
};

George.. 15

当存在具有键和值的对象时,[object Object]出现在日志中.您可以使用点符号(.)访问对象中的属性,例如

objectName.propertyName

如果properyName是另一个对象,它仍将返回[object Object],因此您需要在其中查找另一个属性.属性还可以包含方法(函数).如果您想获取对象的字符串版本以便比较它们,那么请使用

JSON.stringify(objectName);

将console.log与节点一起使用并且您具有深层嵌套对象时,可能无法查看嵌套对象内容.在这种情况下,您可以使用:

console.log(util.inspect(objectName, false, null));

查看整个对象.虽然您必须在文件中要求util.



1> George..:

当存在具有键和值的对象时,[object Object]出现在日志中.您可以使用点符号(.)访问对象中的属性,例如

objectName.propertyName

如果properyName是另一个对象,它仍将返回[object Object],因此您需要在其中查找另一个属性.属性还可以包含方法(函数).如果您想获取对象的字符串版本以便比较它们,那么请使用

JSON.stringify(objectName);

将console.log与节点一起使用并且您具有深层嵌套对象时,可能无法查看嵌套对象内容.在这种情况下,您可以使用:

console.log(util.inspect(objectName, false, null));

查看整个对象.虽然您必须在文件中要求util.


这不适用于Node的[`console.log()`](https://nodejs.org/api/console.html#console_console_log_data),它将(通常)使用[`util.inspect()`] (https://nodejs.org/api/util.html#util_util_inspect_object_options)在每个参数上,而不是简单地在其上调用`.toString()`.FWIW,如果你想记录JSON,你也可以使用`console.log('%j',obj)`
推荐阅读
mobiledu2402851373
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有