javascript - 如何将 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 对象?
解决方案
您将需要一个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);
推荐阅读
- java - 为什么这个通量不在多个线程中执行?
- git - Git 删除 git log 中的原点/分支
- javascript - React 组件在状态更改后不重新渲染,但正在调用 render()
- layout - (Blazor - LayoutComponentBase) 检测 @Body 生命周期完成以在布局中加载页面
- oauth-2.0 - 如何获取用于 EWS 的 OAuth 刷新令牌
- python - 从开始日期减去 x 天数(Python)
- javascript - 在flowjs中使用类型接口键入函数?
- r - 如何从变量观察中创建箱线图(详细解释得更好)
- vim - 如何为 AVR 编程配置 VIM 和 ALE?
- python - 如何避免将相同的str分配给字典中的列表