Невозможно получить значение объекта ArrayBuffer в Javascript - PullRequest
0 голосов
/ 17 января 2019

У меня есть ArrayBuffer объект, который мне нужно преобразовать в String в JSON, но я не могу получить значение [Int8Array] из объекта, даже если он явнотам.

enter image description here

Я перепробовал все варианты этого, но все они возвращают неопределенное

console.log(result);//Returns the array buffer
//Following methods all return undefined?
console.log(result["[[Int8Array]]"]);
console.log(result[[[Int8Array]]]);
console.log(result[[["Int8Array"]]]);
console.log(result[Int8Array]);
console.log(result["Int8Array"]);

Как я могу получитьвсе значения Int8Array или UInt8Array, которые четко доступны в объекте?

Ответы [ 2 ]

0 голосов
/ 17 января 2019

если вам нужна строка, вы можете сделать это без доступа к какому-либо типизированному массиву:

var str = new TextDecoder().decode(arrayBuffer)
var json = JSON.parse(str)

, если вы хотите перейти прямо к JSON

var json = await new Response(arrayBuffer).json()
0 голосов
/ 17 января 2019

Вам нужно указать new Uint8Array, чтобы получить их значения, вы не можете получить к ним прямой доступ, используя ваш экземпляр ArrayBuffer.

var buf = new ArrayBuffer(8);
var int8view = new Uint8Array(buf);
console.log(int8view)

JSFiddle: https://jsfiddle.net/v8m7pjqb/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...