我使用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中有一个名为Smile for protostuff的非常好的算法,但我想知道如何使用该库获取模式 - 我还没有管理它。
我想知道什么是最好用的:ProtostuffIOUtil
或SmileIOUtil
?
以及如何使用?以及如何用JavaScript解码?
答案 0 :(得分:0)
protostuff 二进制编码与 protobuf 不同,据我所知,目前没有JavaScript库来解码protostuff编码的数据。
开箱即用的Web浏览器不支持smile ,但有些库可以对其进行解码。
对于我来说,有两种方法可以使用Protostuff库在服务器上编码数据,并在客户端使用JavaScript对其进行解码:
ProtobufIOUtil
将数据序列化为protobuf二进制格式。在客户端,您可以使用https://github.com/dcodeIO/ProtoBuf.js/解码来自服务器的二进制数据。JsonIOUtil
(来自protostuff-json模块)将数据序列化为JSON文本格式。在客户端,它支持开箱即用。以下是使用Protostuff将POJO序列化为protobuf二进制文件的示例:HelloService.java