質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

1回答

3827閲覧

BeanListをJsonに変換したものをdataTableで表示したい

zipan

総合スコア13

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2016/01/27 01:40

編集2016/01/27 08:09

Listで取得したBeanをJsonに変換
その変換したものをjspで取得してdataTableに表示したいのですが上手くいきません・・・
jspでの別メソッドの呼び出し方の記述と返ってくるjsonの両方が違う気がするのですが
どう直せば良いのかわかりません・・・

jsp「

<body> <div><h1 class="heading">検索結果</h1></div> <div> <table id="atable"> <thead> <tr> <th>名前</th> <th>コード</th> </tr> </thead> <tbody> </tbody> </table></div> <script> var sampleTable = $("#atable").dataTable({ aoColumns: [ { mData: "name", sDefaultContent: "" }, { mData: "code", sDefaultContent: "" }, ], bDeferRender: true, sAjaxSource: "${appUrl}/COM/searchTest", sServerMethod: "POST", fnServerParams: function (aoData) { aoData.push({"code": "name", "value": "1"}); }, sAjaxDataProp: "reports", }); </script> </body> 」

呼出先「
@RequestMapping(value = "/searchTest", method = RequestMethod.POST)
public @ResponseBody
String searchTest(HttpServletRequest request, HttpServletResponse response) throws Exception {

CommonAjaxValidator validator = new CommonAjaxValidator(messageSource); String strJson = validator.SearchTest(service); return strJson; }」 CommonAjaxValidator.java「 public String validateSearchTest(testMstService service) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); List<testBean> list = service.selectTest(); return mapper.writeValueAsString(list); }


生成されたjson「
0,"name":"a","code","001","name":"b","code","002","name":"c","code","003"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

springmvc ですか?タグ追加してください。
生成された json はjavascript の オブジェクト配列の様式になってないようにしか見えません。

html

1[ 2 { 3 "aaa":"あいうえお", 4 "bbb":125 5 }, 6 { 7 "aaa":"かくきけこ", 8 "bbb":7890 9 } 10] 11

こういう形で生成されるのが理想です。

このオブジェクト配列をjaba beanlist になおすと、

java

1public class Bean { 2 private String aaa; 3 private int bbb; 4 // getter,setter,constructor,hashcode,tostring,equals は省略 5} 6 7List<Bean> list = new ArrayList<>(); 8list.add( new Bean("あいうえお",125) ); 9list.add( new Bean("かくきけこ",7890) ); 10 11 12

こんな感じです。

json ライブラリが一杯あるので、適当に探してください。
javascript では、JSON.parse が文字列をオブジェクトに変換、JSON.stringifyがオブジェクトを文字列に変換 です。javascript と同じ書式で実装してるライブラリがあれば良いですね。無ければラッパー作っておくと良いででょう。

投稿2016/01/27 02:32

編集2016/01/27 02:48
ipadcaron

総合スコア1693

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

zipan

2016/01/27 08:28 編集

回答ありがとうございます。 [ {"name":"a","code":001}, {"name":"b","code":002}, {"name":"c","code":003} ] この形にすることができました。 ですがやはり javaファイルで生成したこのjsonを、jspファイル側で呼び出す方法がわかりません。 試してみたsAjaxSourceは取得先がjsonファイルでなければならないのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問