datastore.Text型 について

83 views
Skip to first unread message

Taiki Matsuyama

unread,
Aug 6, 2009, 9:48:06 PM8/6/09
to Google-App-Engine-Japan
com.google.appengine.api.datastore.Text 型には、引数としてvalue を取るコンストラクタが1つだけあ
ります。
これで何が困ったかというと、Text型を含むエンティティをJSON 形式に変換して、別のアプリ(たとえば、自前のサーバ内のアプリ)に渡して、同
じ型のエンティティに戻そうとすると、JSONLib だとエラーになります。どうも、デフォルトコンストラクタがないとエラーになるようです。
仕方がないので、受け取る方はcom.google.appengine.api.datastore.Text ではなく、自前のText 型(デ
フォルトコンストラクタがある)で定義して受け取るようにしましたが。

Shinichiroh Takezaki [Virtual Technology]

unread,
Aug 7, 2009, 12:31:12 AM8/7/09
to google-app-...@googlegroups.com
私も同様に嵌りましたが、拙作のでしたらText型に対応したものがございます。
Entityの作成に癖があって、少々使いづらいかもしれませんが、一応、Text型でJSONやXMLに変換できます。

http://reflex.sourceforge.jp/reflexcore.html
http://reflex.sourceforge.jp/reflexgaelib.html
http://reflex.sourceforge.jp/reflexgaesample.html
http://code.google.com/p/reflexworks/
http://blog.virtual-tech.net/2009/05/google-app-engine-jdojsonxml.html

また、JSONのやりとりでUpdateは特に嵌るので、こちらの記事にまとめてみました。

http://blog.virtual-tech.net/2009/08/google-app-engine-entity.html


2009/08/07 10:48 に Taiki Matsuyama<t.mat...@wowcom.co.jp> さんは書きました:
--
_/ 有限会社バーチャルテクノロジー 竹嵜 伸一郎
_/  Virtual Technology, Ready to Cloud
_/ http://www.virtual-tech.net/

Yasuo Higa

unread,
Aug 7, 2009, 12:44:53 AM8/7/09
to google-app-...@googlegroups.com
ひがです。
Text型は直接使わず、Stringの仮想プロパティでラップしたほうがいいです。

@Persistent
private Text aaaText;

public String getAaa() {
if (aaaText == null) {
return null;
}
return aaaText.getValue();
}

public void setAaa(String aaa) {
aaaText = new Text(aaa);
}

Taiki Matsuyama

unread,
Aug 7, 2009, 12:59:15 AM8/7/09
to Google-App-Engine-Japan
ありがとうございます。よさそうなので、使ってみたいと思います。
JSON だけじゃなくて、いろいろ使えそうですね。

> 私も同様に嵌りましたが、拙作のでしたらText型に対応したものがございます。
> Entityの作成に癖があって、少々使いづらいかもしれませんが、一応、Text型でJSONやXMLに変換できます。
>
> http://reflex.sourceforge.jp/reflexcore.htmlhttp://reflex.sourceforge.jp/reflexgaelib.htmlhttp://reflex.sourceforge.jp/reflexgaesample.htmlhttp://code.google.com/p/reflexworks/http://blog.virtual-tech.net/2009/05/google-app-engine-jdojsonxml.html
>
> また、JSONのやりとりでUpdateは特に嵌るので、こちらの記事にまとめてみました。
>
> http://blog.virtual-tech.net/2009/08/google-app-engine-entity.html
>
> 2009/08/07 10:48 に Taiki Matsuyama<t.matsuy...@wowcom.co.jp> さんは書きました:

Taiki Matsuyama

unread,
Aug 7, 2009, 1:01:22 AM8/7/09
to Google-App-Engine-Japan
おお、なるほど。それは盲点でした。
てっきり、getter/setter も、Text 型じゃないと読み書きしてくれないのだと思っていました。
ありがとうございました。

Shinichiroh Takezaki [Virtual Technology]

unread,
Aug 7, 2009, 1:03:04 AM8/7/09
to google-app-...@googlegroups.com
> Text型は直接使わず、Stringの仮想プロパティでラップしたほうがいいです。

なるほど~~。


2009/08/07 14:01 に Taiki Matsuyama<t.mat...@wowcom.co.jp> さんは書きました:

Shinichiroh Takezaki [Virtual Technology]

unread,
Aug 7, 2009, 1:11:49 AM8/7/09
to google-app-...@googlegroups.com
どうぞご遠慮なく。
また何か問題があればお知らせください。

2009/08/07 13:59 に Taiki Matsuyama<t.mat...@wowcom.co.jp> さんは書きました:
Reply all
Reply to author
Forward
0 new messages