Javaスクリプトとノードjsに慣れていない、MySQL DBから値を取得しようとしています。戻り値は文字列ではなく[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);
});
};
[object Object]は、キーと値を持つオブジェクトがある場合にログに発生します。オブジェクトのプロパティにドット表記(。)でアクセスできます。
_objectName.propertyName
_
プロパティ名が別のオブジェクトである場合、[object Object]が返されるため、その中から別のプロパティを探す必要があります。プロパティにはメソッド(関数)も含めることができます。たとえば、オブジェクトを比較するためにオブジェクトの文字列バージョンを取得する場合は、次を使用します。
_JSON.stringify(objectName);
_
Nodeでconsole.logを使用し、深くネストされたオブジェクトがある場合、ネストされたオブジェクトの内容を表示できない場合があります。その場合、次を使用できます。
_console.log(util.inspect(objectName, false, null));
_
オブジェクト全体を表示します。ただし、ファイルにはutilが必要です。
たぶんあなたは次のようなものを持っています:
_const myObject = { hello: 'world' };
console.log('My object: '+myObject);
_
これに関する問題は、コンソールでmyObjectを文字列に変換することです。 myObject.toString()
を使用します。この場合、次のように自分で簡単に分離できます。
_const myObject = { hello: 'world' };
console.log('My object:', myObject);
_
そして、コンソールはmyObject
を解釈し、うまく表示できるようになりました。
また、この問題が発生し、node.jsターミナルで「watchman-make」(watchman-make: https://www.quora.com/What -IDE-are-available-for-node-js-development-on-Linux )。
次のコード(node.jsの出力を表示)は、受け入れられた回答/コメントで作成されたポイントを示しています。
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}}}}}