我在访问散列中的键时遇到问题(如果这很重要,我正在用 Node.js 编程)。
返回状态和回复时我有一个回调:
client.metadata(folder, options, function(status, reply){
//console.log(reply)
console.log(reply)
console.log("New hash: " + reply['hash']);
});
问题是,reply['hash'] 返回未定义。甚至 reply.hash 也未定义。如何访问回复中的散列键?
我记录了回复,它是:
{
"hash": "e533d2c19d236d0d4f84e2a9666659e1",
"revision": 802,
"rev": "32203a97cb5",
"thumb_exists": false,
"bytes": 0,
"modified": "Wed, 04 Jan 2012 02:39:18 +0000",
"path": "/foo",
"is_dir": true,
"icon": "folder",
"root": "dropbox",
"contents": [],
"size": "0 bytes"
}
但是当我像上面的例子一样在回复中访问哈希时,它是:
New hash: undefined
最佳答案
回复可能是字符串类型,您需要使用 JSON.parse(reply)
...将其从 JSON 转换为
使用 console.log(typeof reply)
检查回复的类型,看看它说了什么
关于Javascript 哈希 (node.js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8766430/