2017-12-30 14 views
-1

제 3 자 라이브러리 메서드 호출에서받는 JavaScript에 흥미로운 개체가 있습니다. 데이터 구조는 다음과 같습니다.자바 스크립트 처리 개체

{ name: 'askForHelp', 
    types: [ 'uint256', 'address', 'bytes32', 'uint256', 'uint256' ], 
    inputs: 
    [ <BN: ffffffffffffffffffffffffffffffffffffffffffffffffffffffff915b27d9>, 
    '9e8b197ec64ff341b6f942852169c280c2c7cc80', 
    <Buffer 52 65 61 63 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00>, 
    <BN: a>, 
    <BN: a> ] } 

이 입력 배열을 처리해야합니다. 나의 요지는 이제 입력입니다. [0123] :

<Buffer 52 65 61 63 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00> 

이 요소는 객체입니다. 내가 JSON으로 변환됩니다

console.log() 
React 

이 다르게 보입니다 : 콘솔에 인쇄하는 것은 우리에게 결과를 제공

String(inputs[2]) 
"React\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 
\u0000\u0000\u0000\u0000" 
:

JSON.stringify(inputs[3]) 
{"type":"Buffer","data":[82,101,97,99,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]} 

그것은 내가 문자열로 변환을, 그것은 또 다른 표현이있다

이 데이터 구조를 처리하는 적절한 방법은 무엇입니까? 왜이 객체보기가 다른 방식으로 동작합니까?

+1

'을 console.log (새 버퍼 ([82,1019799116000를 잘라 정규 표현식으로 @baao에 의해 제안 된 버퍼 오브젝트를 사용하여 내 자신의 질문을 닫으려면 000000000000000000000000]). toString())'-> React – baao

+0

고맙습니다. 버퍼 생성자에 넣은 데이터는 어떻게 접근합니까? – Gleichmut

+0

실종되었습니다. 감사! – Gleichmut

답변

0

, 나는 널 (null) 문자

에게
var buffer = new Buffer(data).toString(); 
    var result = buffer.replace(/\0/g, '');