Fac*_*ree 2 javascript java json
我继承了一个很大的基于Java的服务器端代码库,该代码库使用JSON与客户端进行通信。由于多种原因,基于杰克逊的JSON转换必须使用二进制形式-换句话说,我在服务器端生成的JSON由字节而不是字符组成。
对于以前的客户端,这不是问题,因为它们都是基于Java的。我可以使用Jackson库将二进制文件转换回对象。不幸的是,有人要求我创建一些基于浏览器的客户端,这些客户端需要使用Javascript才能接收和显示JSON信息。
我正在尝试使用JQuery的JSON转换函数,但事实证明JQuery和常规Javascript函数都无法将一组JSON字节转换回对象。我需要将字节转换回字符,以便将它们转换回对象。
我了解到,为了将字节转换为字符,我必须将字节转换为字节数组。这就是我遇到的问题。
我一直在尝试使用各种方法将二进制JSON信息转换回可以使用JSON转换功能转换为有意义的对象的形式(字节数组)。我尝试使用ArrayBuffer将数据转换为字节缓冲区,然后使用int8Array()函数创建字节数组:
var buffer = new ArrayBuffer(obj.payload.length);
var bits = new Int8Array(buffer);
Run Code Online (Sandbox Code Playgroud)
我还尝试使用uint8Array(),并尝试了Internet(以及此处的Stack Overflow)中找到的各种其他转换例程,以创建可以转换为有意义的字符的数组。我的所有尝试要么在运行时导致了错误和故障,要么生成了破坏JSON转换器的垃圾。
是否可以通过某种方式使Javascript读取Jackson生成的一组字节,以便可以使用JSON转换器将其转换回对象?还是Javascript仅能够转换JSON字符串?
有人请指教...
| 归档时间: |
|
| 查看次数: |
4779 次 |
| 最近记录: |