javascript
blob转成json js_javascript – 文件API – Blob到JSON
我正在嘗試使用HTML5,WebSocket和File API進(jìn)行一些實(shí)驗(yàn).
我正在使用Tomcat7 WebSocket實(shí)現(xiàn).
我能夠從servlet發(fā)送和接收短信.我現(xiàn)在要做的是從servlet發(fā)送到客戶(hù)端JSON對(duì)象,但我想避免文本消息,以便跳過(guò)客戶(hù)端上的JSON.parse(或類(lèi)似),所以我試圖發(fā)送二進(jìn)制消息.
servlet部分非常簡(jiǎn)單:
String s = "{arr : [1,2]}";
CharBuffer cbuf = CharBuffer.wrap(s);
CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder();
getWsOutbound().writeBinaryMessage(encoder.encode(cbuf));
getWsOutbound().flush();
在此消息之后,在客戶(hù)端上,我看到我收到了一個(gè)二進(jìn)制幀,它被轉(zhuǎn)換為Blob對(duì)象(http://www.w3.org/TR/FileAPI/#dfn-Blob).
問(wèn)題是:是否可以從Blob獲取JSON對(duì)象?
我看了一下FileReader接口(http://www.w3.org/TR/FileAPI/#FileReader-interface),我使用這樣的代碼來(lái)檢查FileReader可以做什么(第一行創(chuàng)建一個(gè)全新的Blob,所以你可以隨時(shí)測(cè)試):
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實(shí)現(xiàn)中看到的所有“readAs …”方法(我使用的是Chrome 22).無(wú)論如何,我沒(méi)有找到有用的東西.
你有什么建議嗎?謝謝.
總結(jié)
以上是生活随笔為你收集整理的blob转成json js_javascript – 文件API – Blob到JSON的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: vue项目没有router文件夹_vue
- 下一篇: rust游戏解封了吗_柚子君宾馆爬墙听隔