Spring MVC 3 ajax呼び出しを実行して、jsonシリアル化データからドロップダウンを設定しようとしています。
私が見ている問題は、リストに返されるJSONSpringの形式とその理由がわからないことです。
Ajaxデータを返すメソッドは次のようになります。
@RequestMapping(value="/getMyObjects", method=RequestMethod.POST)
@ResponseBody
public List<MyObject> getMyObjects () {
List<MyObject> myobjects = // populate list
return myobjects;
}
そして、私が理解している限り、それが私がする必要があるすべてであるべきですよね?
私のアプリログでは、次のように、実際に応答をJSONに変換していることがわかります。
2012-06-20 11:08:21,125 DEBUG(AbstractMessageConverterMethodProcessor.java:139)-[[MyObject [id = 1376、name = Something test]、MyObject [id = 1234 name = More test]]] as "application / json; charset = UTF-8 "using [org.springframework.http.converter.json.MappingJacksonHttpMessageConverter@d1b7e5]
しかし、そのJSON文字列は私には奇妙に見えます、それは有効ですか?
[{id:1376、name = "Something test"}、{id:1234、name ="Moretest"}]のようなものを期待していました
クライアント側で応答を受け取ってアラートを実行すると、[オブジェクトオブジェクト][オブジェクトオブジェクト]のようなオブジェクトの配列が表示されます。このデータの処理方法がわかりません。
私は試してみます:alert(data); --上記で説明した出力を提供します$(data).each(function(){alert(this.id); // undefined!});
この種のJSONデータを使用するにはどうすればよいですか、またはそれをより管理しやすいものに変換するにはどうすればよいですか?
[編集]クライアント側のコードを現在のアラート応答に添付しようとしています:$。ajax({type: "POST"、url: "getMyObjects"、success:function(data){alert(data);//[オブジェクトオブジェクト][オブジェクトオブジェクト]alert(data.value); //未定義$(data).each(function(){alert(this.id); //各反復で未定義});}、エラー:関数(XMLHttpRequest、 textStatus、errorThrown){alert(textStatus);}});