Как я могу конвертировать массив буферов в JSON? - PullRequest
0 голосов
/ 09 ноября 2019

хочу сделать хром-расширение. Мне нужно получить полезную нагрузку и получить ее. Я получаю данные для запроса, как это:

ArrayBuffer(439) {}
[[Int8Array]]: Int8Array(439) [123, 34, 99, 114, 97, 119, 108, 101, 114, 73, 110, 102, 111, 34, 58, 34, 48, 97, 110, 65, 102, 120, 110, 100, 103, 79, 71, 111, 89, 57, 69, 82, 71, 71, 115, 80, 104, 67, 68, 86, 50, 100, 114, 118, 116, 113, 102, 68, 86, 51, 76, 66, 113, 121, 102, 84, 69, 100, 105, 115, 115, 79, 80, 68, 120, 122, 81, 56, 95, 101, 106, 89, 89, 106, 68, 70, 110, 73, 65, 82, 117, 82, 99, 111, 119, 114, 67, 88, 114, 97, 109, 101, 45, 57, 69, 50, 111, 52, 109, 54, …]
[[Uint8Array]]: Uint8Array(439) [123, 34, 99, 114, 97, 119, 108, 101, 114, 73, 110, 102, 111, 34, 58, 34, 48, 97, 110, 65, 102, 120, 110, 100, 103, 79, 71, 111, 89, 57, 69, 82, 71, 71, 115, 80, 104, 67, 68, 86, 50, 100, 114, 118, 116, 113, 102, 68, 86, 51, 76, 66, 113, 121, 102, 84, 69, 100, 105, 115, 115, 79, 80, 68, 120, 122, 81, 56, 95, 101, 106, 89, 89, 106, 68, 70, 110, 73, 65, 82, 117, 82, 99, 111, 119, 114, 67, 88, 114, 97, 109, 101, 45, 57, 69, 50, 111, 52, 109, 54, …]
byteLength: (...)

ArrayBuffer(439) {}
[[Int8Array]]: Int8Array(439) [123, 34, 99, 114, 97, 119, 108, 101, 114, 73, 110, 102, 111, 34, 58, 34, 48, 97, 110, 65, 102, 120, 110, 100, 103, 79, 71, 111, 89, 57, 69, 82, 71, 71, 115, 80, 104, 67, 68, 86, 50, 100, 114, 118, 116, 113, 102, 68, 86, 51, 76, 66, 113, 121, 102, 84, 69, 100, 105, 115, 115, 79, 80, 68, 120, 122, 81, 56, 95, 101, 106, 89, 89, 106, 68, 70, 110, 73, 65, 82, 117, 82, 99, 111, 119, 114, 67, 88, 114, 97, 109, 101, 45, 57, 69, 50, 111, 52, 109, 54, …]
[[Uint8Array]]: Uint8Array(439) [123, 34, 99, 114, 97, 119, 108, 101, 114, 73, 110, 102, 111, 34, 58, 34, 48, 97, 110, 65, 102, 120, 110, 100, 103, 79, 71, 111, 89, 57, 69, 82, 71, 71, 115, 80, 104, 67, 68, 86, 50, 100, 114, 118, 116, 113, 102, 68, 86, 51, 76, 66, 113, 121, 102, 84, 69, 100, 105, 115, 115, 79, 80, 68, 120, 122, 81, 56, 95, 101, 106, 89, 89, 106, 68, 70, 110, 73, 65, 82, 117, 82, 99, 111, 119, 114, 67, 88, 114, 97, 109, 101, 45, 57, 69, 50, 111, 52, 109, 54, …]
byteLength: (...)

То, что я хочу, это так же, как это:

{ "crawlerInfo": "0anAfxnUgyloq9TVwy6uXXuUPvEOtPJucqE4kaTfd010JVz_MuvWcojytMpfFvK0r4brEP0S6F3DRlnehTr9P0898aJtexul-uF0C5m3hOnyq7OEa0duEcDkFmAIwXcD2jYb3PlyOkzLdKKIESlCBOSn5LoEaRY9GZsFD1VPcsmwZPlEbgPxVNSfsUSzgG4Z26TCbHmAC0mou1CCKAm1UVT15UQX3tFp-tuYbGfT-k4C_cJGLxqZYh-SCARNN9ulH2lLkDjdV-p2wg-1fi3QijKwDXsSC_pfb_iKJPQY6QpBfz1WsayTmTUeCGyajiG3z_PpGvv3sdvzqO9Sr82yZ1T62QXefVCxZZkeqSLv6NIE95QD7ReFsiBfGsKyOkTwDkY1bAb-8Ei18uGlVbnKVicIgN66LORYLrZIj16" }

1008 *

1 Ответ

0 голосов
/ 15 ноября 2019

Как сказал @wOxxOm, преобразуйте его в строку и затем проанализируйте.

Примечание. Это не будет работать для IE (и, возможно, для Edge).

// Obviosuly replace this with whatever your array buffer is
const arrayBuffer = new TextEncoder().encode(JSON.stringify({crawlerInfo: "crawler info"}))

const json = JSON.parse(new TextDecoder().decode(arrayBuffer))
console.log(json)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...