2012-01-07 8 views
1

ハッシュでキーにアクセスする際に問題があります(問題がある場合はNode.jsでプログラミングしています)。Javascript hash(node.js)

ステータスと、このような応答を返すとき、私はコールバックを持っている:

client.metadata(folder, options, function(status, reply){ 
    //console.log(reply) 
    console.log(reply) 
    console.log("New hash: " + reply['hash']); 
}); 

問題がある、[「ハッシュ」]返信はundefinedを返します。 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" 
} 

が、私は上記の例のように回答してハッシュにアクセスしたとき、それはだ:

新しいハッシュ:

答えて

5

を未定義それは可能性があり返信が文字列型である可能性があります。JSON.parse(reply)でJSONから変換する必要があります。

返信のタイプをconsole.log(typeof reply)と確認し、内容を確認してください。

+0

ありがとうございました。それは文字列だった。それを解析した後、それは動作します! – 0xSina