我正在尝试将字符串转换为文本,因为我在appengine上遇到错误,表示我的字符串太长了。这是代码:
import com.google.appengine.api.datastore.Text;
public void setItems(String itemList) {
this.items = new Text(itemList);
}
但是appengine将项目的值显示为[object Object]。
文档here似乎说我的方法是正确的,但很明显我错过了一些东西(可能很简单)。
经过一番实验,我确定了
zt.setItems("test string")
正常工作,但是当我使用
将zt上传到appengine时public void insertTheme(Theme theme) {
ofy().save().entity(uccwtheme).now();
}
然后,如果我在Cloud Datastore中打开实体,我看到items的值是[object Object]
更多:
因此,如果我在调试过程中打开Theme.java(已编译的类),方法setItems会显示:
/**
* Model definition for Theme.
*
* <p> This is the Java data model class that specifies how to parse/serialize into the JSON that is
* transmitted over HTTP when working with the themeendpoint. For a detailed explanation see:
* <a href="http://code.google.com/p/google-http-java-client/wiki/JSON">http://code.google.com/p/google-http-java-client/wiki/JSON</a>
* </p>
*
* @author Google, Inc.
*/
/**
* @param themeItems themeItems or {@code null} for none
*/
public Theme setItems(java.lang.String items) {
this.items = items;
return this;
}
文字怎么了?为什么返回类型会改变?
答案 0 :(得分:0)
尝试将其中一个“项目”重命名为其他内容。例如,
this.items = new Text(itemsString);
答案 1 :(得分:0)
浪费多个小时的方法:(