问题标签 [protobuf-java]
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.
java - 如何修复重复的协议缓冲区字段中的重复元素?
我想使用 protocoll-buffers 加载一些数据(JSON 在 Android 上太慢了),但不知何故,我的repeated
字段company
包含每个元素的 6 个副本 - 尽管我没有存储任何重复项。
我怎么知道它不应该包含重复项?
我确实为我保存的每个对象设置了一个计数器 - 这是预期的长度。
这是我的架构:
我如何存储我的数据:
这就是我加载数据的方式:
当然,我希望每家公司只有 1 次,因为我确认每家公司只存储一次CompanyProtoRepository
而不是 6 次。
java - 如何修复“解析协议消息时,输入意外在字段中间结束”错误
获取 InvalidProtocolBufferException:解析协议消息时,输入在字段中间意外结束。解析 Protobuf 时出错
如果我在响应对象上调用 response.getContentAsString() 方法,虽然我可以看到输出,但不确定为什么解析失败。
我的原型文件:
我编写了 API 来返回 Proto 响应,如下所示
我的 API 将返回以下输出
我正在尝试调用 API 并将其解析回 Test2,如下所示
在上述步骤中出现错误如果我调试并尝试打印 response.getContentAsString(),我会得到正确的输出,如下所示,但解析失败。
java - 如何使用 protobuf 序列化 java.util.regex.Pattern?
我有一个对象,我想使用协议缓冲区序列化并存储在 redis 中。对象包含在java.util.regex.Pattern
实例化对象时遵守的 。
此模式用于验证对某个 api 的输入。由于每次编译模式都很昂贵,所以我在实例化期间编译一次模式,然后在每次调用 api 时重用相同的模式实例。如何Pattern
在以下模式中序列化此编译字段,以便在反序列化对象时无需再次编译模式即可使用它?
谢谢。
android - Android Gradle Protobufs:如何编译完整的 protobuf 而不是“lite”版本?
我能找到的配置build.gradle以编译 protobufs 的每个示例都使用“lite”版本,看起来像这样:
注意“ javalite ”。这会生成使用MessageLite的 java 文件,但我需要完整的Message类。
如何更改它以使其不生成“精简版”版本?
protobuf-java - 将 protobuf 转换为其他 protobuf
我从 Kaka 阅读了 Protobuf,所以最后我得到了一个生成的 Java 对象。我想根据我得到的原始文件重命名/创建其他 Protobuf。
假设我有 2 个类 A 和 B。我的代码听 Kafka 主题并获得 A。我想将 A“转换”为 B,这几乎是相同的对象(变量名称更改很少)。有没有办法覆盖 Protobuf Parser?为了生成 B 而不是 A?
例如:
我的听众得到 A 而我想得到 B (bb=aa, bb=aaaa
protocol-buffers - --grpc_out:protoc-gen-grpc:插件在 osx 上失败,状态码为 1。(爪哇)
我正在关注有关使用 grpc 的教程,我应该使用插件来生成源代码,但我被困在如何使用 --grpc_out 和 --plugin 标志上。
以下是当前的挑战。
- 教程中从https://search.maven.org/下载的协议生成器是 osx 操作系统的可执行文件https://search.maven.org/search?q=a:protoc-gen-grpc-java . 这是第一个困惑。
如果我不使用这些插件标志(--plugin,--grpc_out),我的代码可以使用此命令生成
protoc -I /proto --java_out /hello/grpc/grpc/revamp/services /proto/messages.proto
以上工作正常
使用从混淆 1 下载的插件添加标志会使用此命令引发此错误;
protoc -I /proto --java_out /hello/grpc/grpc/revamp/services /proto/messages.proto --grpc_out /hello/grpc/grpc/revamp/services --plugin=protoc-gen-grpc=/proto/ lib/protoc-gen-grpc-java-1.19.0-osx-x86_64.exe
--grpc_out:protoc-gen-grpc:插件失败,状态码为 1。
有没有人在 osx 上使用过这个插件?,谁能帮忙看看我做错了什么。
提前致谢
java - 如何在 protobuf 文件中描述 Java 嵌套列表?
我有一个 Java 类,包括一个嵌套列表字段,如:
但是如何在 protobuf 文件中描述它呢?我尝试这样,但它不能工作
==============更新======================
我尝试了 İlker Korkut 的回答,但是当我想将 json 转换为 protobuf 时,它失败了。我的json如下:
和我的protobuf文件如下:
使用 java 代码将 json 转换为 protobuf :
它抛出异常“期望消息对象但得到:[[139,35],[138,34]]”
maven文件如下:
请帮我 !
protobuf-java - 方法 emptyIntList() 未定义
我是Google Protobuf的新手。尝试使用下面的student.proto文件来玩它。
然后我尝试使用下面的 Protobuf 编译器命令对其进行编译。从这里,我下载了编译器。
它成功编译并生成StudentDTO.java,但有错误。类内部使用了两种方法' emptyIntList() '和' newIntList() ',但它们没有被定义。
现在我的问题是如何解决这些错误或者我错过了什么?
protocol-buffers - 映射是否向后兼容重复的键值对?
我能用吗
代替
?
第一个来源在 proto3 中,第二个来源在 proto2 中。
java - 如何用 protobuf 表示未命名的对象列表?
我正在尝试使用 Spring RestTemplate 使用 REST api,这几乎是我想要做的:
以下是源 json 的样子,我如何在 protobuf 中表示一个未命名的列表?
这就是我的.proto
文件的样子
我收到以下错误: