使用 javascript 反序列化 protostuff 字节数组
deserialize protostuff byte array with javascript
我使用 protostuff 将我拥有的 json 输入转换为字节数组。 java中的代码是:
LinkedBuffer buffer = LinkedBuffer.allocate(1024);
Schema<String> orderSchema = RuntimeSchema.getSchema(String.class);
int i = 1 ;
for(String p:poligonsStr) {
buffer.clear();
byteslist.add(ProtostuffIOUtil.toByteArray(p, orderSchema, buffer));
}
问题是我不知道使用的算法以及如何使用 JavaScript 客户端 (Node.js) 进行解码。我还看到在项目 com.dyuproject.protostuff 中为 protostuff 实现了一个名为 Smile 的非常好的算法,但我想知道如何使用该库获取模式 - 我还没有做到这一点。
我想知道什么是最好用的:ProtostuffIOUtil
或 SmileIOUtil
?
以及如何使用?以及如何用 JavaScript?
解码
protostuff二进制编码不同于protobuf,据我所知没有JavaScript库可以解码目前的原始数据编码数据。
smile 不支持开箱即用的网络浏览器,但有可以对其进行解码的库。
对于我来说,有两种最佳方式可以使用 Protostuff 库在服务器上编码数据,并在客户端使用 JavaScript 对其进行解码:
- 使用protobuf编码,如果编码数据的大小很重要,那很好。在服务器端,您应该使用
ProtobufIOUtil
将数据序列化为 protobuf 二进制格式。在客户端,您可以使用 https://github.com/dcodeIO/ProtoBuf.js/ 从服务器解码二进制数据。
- 使用 JSON 编码,它是 JavaScript 的原生格式,通常解析速度比二进制 protobuf 编码数据快。在服务器端,您应该使用
JsonIOUtil
(来自 protostuff-json 模块)将您的数据序列化为 JSON 文本格式。在客户端,开箱即用。
这是一个如何使用 Protostuff 将 POJO 序列化为 protobuf 二进制文件的示例:HelloService.java
我使用 protostuff 将我拥有的 json 输入转换为字节数组。 java中的代码是:
LinkedBuffer buffer = LinkedBuffer.allocate(1024);
Schema<String> orderSchema = RuntimeSchema.getSchema(String.class);
int i = 1 ;
for(String p:poligonsStr) {
buffer.clear();
byteslist.add(ProtostuffIOUtil.toByteArray(p, orderSchema, buffer));
}
问题是我不知道使用的算法以及如何使用 JavaScript 客户端 (Node.js) 进行解码。我还看到在项目 com.dyuproject.protostuff 中为 protostuff 实现了一个名为 Smile 的非常好的算法,但我想知道如何使用该库获取模式 - 我还没有做到这一点。
我想知道什么是最好用的:ProtostuffIOUtil
或 SmileIOUtil
?
以及如何使用?以及如何用 JavaScript?
protostuff二进制编码不同于protobuf,据我所知没有JavaScript库可以解码目前的原始数据编码数据。
smile 不支持开箱即用的网络浏览器,但有可以对其进行解码的库。
对于我来说,有两种最佳方式可以使用 Protostuff 库在服务器上编码数据,并在客户端使用 JavaScript 对其进行解码:
- 使用protobuf编码,如果编码数据的大小很重要,那很好。在服务器端,您应该使用
ProtobufIOUtil
将数据序列化为 protobuf 二进制格式。在客户端,您可以使用 https://github.com/dcodeIO/ProtoBuf.js/ 从服务器解码二进制数据。 - 使用 JSON 编码,它是 JavaScript 的原生格式,通常解析速度比二进制 protobuf 编码数据快。在服务器端,您应该使用
JsonIOUtil
(来自 protostuff-json 模块)将您的数据序列化为 JSON 文本格式。在客户端,开箱即用。
这是一个如何使用 Protostuff 将 POJO 序列化为 protobuf 二进制文件的示例:HelloService.java