gpt4 book ai didi

java - 如何在 Google Cloud Datastore 中添加数组属性值

转载 作者:太空宇宙 更新时间:2023-11-04 06:46:49 26 4
gpt4 key购买 nike

如何将字符串或整数数组添加到属性值?这是我的代码,但它不起作用

   while(i<ValueArray.length)
{
entityBuilder.addProperty(Property.newBuilder()
.setName(name))
.setValue(Value.newBuilder().setStringValue(ValueArray[i])));
i++;}

提前谢谢您,

最佳答案

您可以为此使用列表值:

Value.Builder listValueBuilder = Value.newBuilder();
for (String value : values) {
listValueBuilder.addListValue(Value.newBuilder().setStringValue(value));
}
entityBuilder.addProperty(Property.newBuilder()
.setName(name)
.setValue(listValueBuilder));

或者,使用 DatastoreHelper 中的便捷方法:

Value.Builder[] valueArray = new Value.Builder[values.length];
for (int i = 0; i < values.length; i++) {
valueArray[i] = DatastoreHelper.makeValue(values[i]);
}
entityBuilder.addProperty(
DatastoreHelper.makeProperty(name, DatastoreHelper.makeValue(valueArray)));

并检索值:

for (Property property : entity.getPropertyList()) {
// Find the list property by name.
if (property.getName().equals(name)) {
for (Value value : property.getValue().getListValueList()) {
// Print each string value from the list value.
System.out.println(value.getStringValue());
}
}
}

或者,再次使用DatastoreHelper:

Map<String, Value> propertyMap = DatastoreHelper.getPropertyMap(entity);
for (Value value : propertyMap.get(name).getListValueList()) {
// Print each string value from the list value.
System.out.println(value.getStringValue());
}

关于java - 如何在 Google Cloud Datastore 中添加数组属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23858208/

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