首页 > 解决方案 > 如何将 Blob(八位字节流)读取到 JSON 对象?

问题描述

从 http 请求中,下载了一个blob (b)(类型application/octet-stream),然后需要对其进行处理,它包含一个 json object

我尝试了以下方法:

var reader = new FileReader();
reader.readAsText(b);
var readResult = <string> reader.result;
console.log(readResult);
var obj = JSON.parse(readResult);

它不起作用,并且 readResult 为空。

如何将包含 json 的 blob 处理为 json 对象?

标签: javascriptjsonblob

解决方案


您将需要一个onload事件,如下所示:

var blob = new Blob([JSON.stringify({"test": "Hello from JSON!"})], {type : "application/json"}),
    reader = new FileReader();

reader.onload = function() {
    document.body.innerText = JSON.parse(this.result).test;
};

reader.readAsText(blob);


推荐阅读