2013-03-02 3 views
1

http://blockchain.info/api/api_websocket websocket API를 사용하고 있습니다. 각 거래에 대한JSON 문자열에 액세스 할 때 TypeError가 발생했습니다.

내 JSON 개체는 다음과 같습니다

{ 
    "op": "utx", 
    "x": { 
     "hash": "f6c51463ea867ce58588fec2a77e9056046657b984fd28b1482912cdadd16374", 
     "ver": 1, 
     "vin_sz": 4, 
     "vout_sz": 2, 
     "lock_time": "Unavailable", 
     "size": 796, 
     "relayed_by": "209.15.238.250", 
     "tx_index": 3187820, 
     "time": 1331300839, 
     "inputs": [ 
      { 
       "prev_out": { 
        "value": 10000000, 
        "type": 0, 
        "addr": "12JSirdrJnQ8QWUaGZGiBPBYD19LxSPXho" 
       } 
      } 
     ], 
     "out": [ 
      { 
       "value": 2800000000, 
       "type": 0, 
       "addr": "1FzzMfNt46cBeS41r6WHDH1iqxSyzmxChw" 
      } 
     ] 
    } 
} 

것은 내가 json.x.out 사용하여 "요지"변수에 접근하고있어 [0] 콘솔에서 고급을 출력하는 .addr. 다음과 같은 오류에

Game.findOne({address:json.x.out[0].addr},function (err, game) { 

결과 : 나는 몽구스를 통해 명령을 실행할 때

그러나

TypeError: Cannot read property 'x' of undefined 
    at Promise.<anonymous> (/Users/michael/Desktop/DugleyBit/app.js:176:25) 
    at Promise.addBack (/Users/michael/Desktop/DugleyBit/node_modules/mongoose/lib/promise.js:133:8) 
    at Promise.EventEmitter.emit (events.js:96:17) 
    at Promise.emit (/Users/michael/Desktop/DugleyBit/node_modules/mongoose/lib/promise.js:66:38) 
    at Promise.complete (/Users/michael/Desktop/DugleyBit/node_modules/mongoose/lib/promise.js:77:20) 
    at Query.findOne (/Users/michael/Desktop/DugleyBit/node_modules/mongoose/lib/query.js:1607:15) 
    at model.Document.init (/Users/michael/Desktop/DugleyBit/node_modules/mongoose/lib/document.js:227:11) 
    at model.init (/Users/michael/Desktop/DugleyBit/node_modules/mongoose/lib/model.js:196:36) 
    at Query.findOne (/Users/michael/Desktop/DugleyBit/node_modules/mongoose/lib/query.js:1605:12) 
    at exports.tick (/Users/michael/Desktop/DugleyBit/node_modules/mongoose/lib/utils.js:404:16) 

는 문자열이 아닙니까? 어떻게 변환 할 수 있습니까?

감사

편집 :

가 JSON가 제대로 형식의됩니다 참고 :이 Game.findOne를 호출 할 경우 json 변수가 범위에서 사용할 수 없습니다처럼

var json = JSON.parse(message); 
+0

'json'은 어떻게 생겼습니까? 오류는 정의되지 않았다고 말합니다. – Blender

+0

@Blender 헤이 .. CONSOLE.LOG JSON()는 리턴 OP '{'UTX ' X : {해쉬'6c516bd55e71a7020c33abfa3abfecc4439a2ff26199e20b700b60ec3ed93e38 ' vin_sz : 1 vout_sz : 2 lock_time'없음 ' , 크기 : 259, relayed_by '127.0.0.1' tx_index : 57,725,380, 시간 : 1362202829, 입력 : [대상], 아웃'}} [[대상] – Michael

답변

0

보인다.

관련 문제