Je suis silencieux nouveau sur java script et node js, j'essaie d'obtenir une valeur à partir d'une base de données MySQL, et la valeur de retour est [object Object] au lieu d'une chaîne. Je n'ai vraiment pas trouvé de réponse en ligne quel est le problème. J'espère que quelqu'un pourrait aider. La valeur de ligne est [object Object].
Voici ma fonction
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); }); };
[Object Object] se produit dans le journal lorsqu'il existe un objet avec des clés et des valeurs. Vous pouvez accéder aux propriétés dans un objet wth notation par points (.) Ex.
objectName.propertyName
Si properyName est un autre objet, il renverra encore [object Object] et il faut donc chercher une autre propriété dans ce domaine. Les propriétés peuvent également contenir des méthodes (fonctions). Si vous souhaitez obtenir la version de chaîne d'un objet afin de les comparer par exemple, utilisez
JSON.stringify(objectName);
J'ai également rencontré ce problème, en exécutant le code suivant dans un terminal node.js en conjonction avec "watchman-make" (watchman-make: voir les commentaires dans la première réponse à https://www.quora.com/What-IDEs-are -available-for-node-js-development-on-Linux ).
Le code suivant (avec la sortie node.js affiché) illustre les points créés dans la réponse / les commentaires acceptés:
function arrayToList(array) { var list = {}; for (var i = array.length - 1; i >= 0; i--) { list = {value: array[i], rest: list}; } return list; }; console.log(arrayToList( [1, 2, 3, 4, 5] )); // { value: 1, // rest: { value: 2, rest: { value: 3, rest: [Object] } } } // '[Object]' ? // http://stackoverflow.com/questions/34264800/node-js-function-return-object-object-instead-of-a-string-value var obj = arrayToList([1, 2, 3, 4, 5]); console.log('%j', obj); // {"value":1,"rest":{"value":2,"rest":{"value":3,"rest":{"value":4,"rest":{"value":5,"rest":null}}}}} console.log(JSON.stringify(obj)); // {"value":1,"rest":{"value":2,"rest":{"value":3,"rest":{"value":4,"rest":{"value":5,"rest":null}}}}}