gpt4 book ai didi

protocol-buffers - 如何为重复字段的字段指定字段掩码?

转载 作者:行者123 更新时间:2023-12-05 02:16:54 25 4
gpt4 key购买 nike

假设您有一个定义如下的原型(prototype):

message Zoo {
repeated Cat cats = 1;
}

假设猫看起来像这样:

message Cat {
google.protobuf.StringValue name = 1
Decimal age = 2;
}

如果我想减少 Zoo 中的数据量,使样本数据只包含 Cat 和名称字段,我该怎么做?

例子:示例 Zoo 对象如下所示:

{
Cat: [{
name = "sam";
},
{
name = "hester";
}]
}

我正在尝试使用一个字段掩码来执行此操作:

FieldMask zoo_mask = FieldMask.newBuilder()
.addPaths("cats")
.build();

Zoo getMaskedZoo(FieldMask mask, Zoo zoo) {
Zoo.Builder zooDest = Zoo.newBuilder();
FieldMaskUtil.merge(zoo_mask, zoo, zooDest);
return zooDest.build();
}

如何才能让每只 Cat 只显示名称?

最佳答案

我刚刚检查了 Java implementation并且它在 Java 中不受支持,因为 cats 是一个重复的字段。 c-core 也不支持它。

您最好的选择是使用反射来实现您的目标。

关于protocol-buffers - 如何为重复字段的字段指定字段掩码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48853808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com