{以下のプログラムは、クライアント側のプログラムです。Userクラスに自動的にマッピングしてくれます。
"name":"ochi",
"age":10,
"adress":
{"name":"Osaka"}
}
- JsonpRequestBuilder jb = new JsonpRequestBuilder();
- jb.requestObject(
- "http://XXXXX.XXX.XXXX.json",
- new AsyncCallback<JsArray<user>>() {
- public void onFailure(Throwable caught) {
- GWT.log("failure", caught);
- }
- public void onSuccess(JsArray<User> result) {
- StringBuilder sb = new StringBuilder();
- Window.alert("Success");
- for (int i = 0; i < result.length(); i++) {
- sb.append(result.get(i).getName());
- }
- resultArea.setValue(sb.toString());
- }
- });
- </user>
- import com.google.gwt.core.client.* ;
- import java.util.* ;
- final public class User extends JavaScriptObject {
- protected User(){
- }
- public native java.lang.Long getId()/*-{
- return this['id'];
- }-*/;
- public native Address getAddress()/*-{
- return this['address'];
- }-*/;
- public native java.lang.String getName()/*-{
- return this['name'];
- }-*/;
- final static public class Address extends JavaScriptObject {
- protected Address(){
- }
- public native java.lang.String getName()/*-{
- return this['name'];
- }-*/;
- }
- }
JSONの雛形データをいれるとこのフォーマットに変換してくれるとても素敵なサイトです。(こういう世のためになるサイトを作りたいですね)
(追記:2010/10/22)
***.gwt.xml ファイルには
- <inherits name='com.google.gwt.jsonp.Jsonp' />