问题标签 [protostuff]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
271 浏览

java - 如何告诉 protostuff 将属性打包到 fixed32 而不是 int32

我正在尝试使用 protostuff 将以下 Java 对象序列化为 protobuf:

使用以下代码:

我想获得固定大小的缓冲区,但 protostuff 将版本整数序列化为 varint 类型(用于表示整数的字节数根据整数大小而变化)

如何告诉 protostuff 以固定字节数将特定属性序列化为 fixed32

谢谢

0 投票
1 回答
395 浏览

java - Protostuff 循环引用中的 RuntimeSchema?

我们使用 Protostuff 的 RuntimeSchema 来序列化我们的数据。这主要是有效的,但我们有时会得到:

这显然意味着我们的对象内部有某种循环引用。
阅读文档 Protostuff 理论上确实支持运行时模式中的循环引用,是否需要启用配置才能使其正常工作?

我读过:Dprotostuff.runtime.collection_schema_on_repeated_fields但它假设仅适用于数组项的循环引用,而我们的对象并非如此。

谢谢!

0 投票
0 回答
107 浏览

java - 如何使用 Protostuff 将字段添加到具有反序列化兼容性的类中?

我有一个不可变的类对象

如果可能的话,如何在不编写自定义反序列化器的情况下使用 Protostuff 将字段添加到具有向后二进制反序列化兼容性的类中?

0 投票
1 回答
214 浏览

java - Protostuff 序列化对象,如 Map>

如何使用 Protostuff 像以下示例一样序列化对象:

我知道我必须使用 MapSchema,但我不知道我需要对这个对象做什么。

0 投票
2 回答
1253 浏览

java - 添加字段以响应 API 时的向后兼容性

我在对象的 Json 响应中添加了几个新字段。当我们更新客户端以访问 API 时,它运行良好。但是旧版本的 API 会出现序列化错误。我正在使用PROTOSTUFF对对象进行序列化和反序列化。如何使旧版本的客户端忽略新字段并继续正常工作。我尝试使字段瞬态和@JsonIgnore Tag

0 投票
1 回答
461 浏览

java - Protostuff 运行时模式和多态性问题

我有一个 Java 类的层次结构,我想使用 protostuff 对其进行序列化和反序列化。

这些类如下(只是一个玩具示例)

我正在使用以下代码使用运行时模式生成来序列化和反序列化对象,如下所示

问题是这段代码的输出是

代替

如何在序列化/反序列化过程中保留多态性的信息?

我希望有一个人可以帮助我

0 投票
0 回答
10 浏览

protostuff - 尝试制作一种可以转换为不同数值基数的算法

我想制作一个算法 f,它接受a,xy, 并返回bbasey而不是abase x。我似乎无法理解如何做到这一点,并且我已经进行了多次尝试。怎么做呢?

0 投票
0 回答
155 浏览

java - 是否可以将协议缓冲区 / protostuff 配置为不为消息生成默认的空构造函数?

我注意到当有必填字段时,protocol buffers / protostuff 会生成 Java 默认的无参数构造函数。有没有办法对其进行检测以不针对特定消息执行此操作?

例子

我希望它只生成一个构造函数

0 投票
1 回答
137 浏览

python - 导入 object_detection/protos/image_resizer.proto 但未在 OS High Sierra 中使用 protobuf 编译的问题

我在编译的 OS 终端中遇到问题:./bin/protoc object_detection/protos/*.proto --python_out=。

object_detection/protos/input_reader.proto:5:1:警告:导入 object_detection/protos/image_resizer.proto 但未使用。

任何人都知道如何解决这个错误?我在其他类似的帖子中读到删除或评论了一个文件中的一行,但似乎没有编译任何内容。

0 投票
0 回答
99 浏览

java - 由于缺少 sun.reflect.ReflectionFactory,在 Android 上使用 Protostuff 会导致 RuntimeException

我正在尝试在 Android 中使用Protostuff 1.7.2 版来序列化和反序列化一些用户定义的类。我正在使用该RuntimeSchema.getSchema()方法在运行时生成 Protostuff 的模式。但是,当我调用此方法时,我遇到了 RuntimeException。

我已经确定这个问题sun.reflect.ReflectionFactory在 Android 中不存在。Protostuff 尝试在此处加载此类,但在 Android 上似乎无法这样做,导致此处的返回值为null,这会触发 RuntimeException。我尝试在 Ubuntu/Windows 上运行相同的代码(见下文),我的代码运行良好,因为安装的 Java 运行时包括sun.reflect.ReflectionFactory.

我尝试使用protostuff-runtime-md,它应该可以在 Android 上运行,但没有运气。

谁能告诉我如何让它在Android上运行?