blob转成json js_javascript – 文件API – Blob到JSON

我正在尝试使用HTML5,WebSocket和File API进行一些实验.

我正在使用Tomcat7 WebSocket实现.

我能够从servlet发送和接收短信.我现在要做的是从servlet发送到客户端JSON对象,但我想避免文本消息,以便跳过客户端上的JSON.parse(或类似),所以我试图发送二进制消息.

servlet部分非常简单:

String s = "{arr : [1,2]}";

CharBuffer cbuf = CharBuffer.wrap(s);

CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder();

getWsOutbound().writeBinaryMessage(encoder.encode(cbuf));

getWsOutbound().flush();

在此消息之后,在客户端上,我看到我收到了一个二进制帧,它被转换为Blob对象(http://www.w3.org/TR/FileAPI/#dfn-Blob).

问题是:是否可以从Blob获取JSON对象?

我看了一下FileReader接口(http://www.w3.org/TR/FileAPI/#FileReader-interface),我使用这样的代码来检查FileReader可以做什么(第一行创建一个全新的Blob,所以你可以随时测试):

var b = new Blob([{"test": "toast"}], {type : "application/json"});

var fr = new FileReader();

fr.onload = function(evt) {

var res = evt.target.result;

console.log("onload",arguments, res, typeof res);

};

fr.readAsArrayBuffer(b);

使用我在File Reader实现中看到的所有“readAs …”方法(我使用的是Chrome 22).无论如何,我没有找到有用的东西.

你有什么建议吗?谢谢.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值