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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

1737閲覧

gson.toJson()とnew GsonBuilder()の違いについて

makoto-n

総合スコア436

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2020/06/04 00:08

Servletからリクエストの送信方法について

現在、Servletの研修を受講しています。
その中で、gson.toJson()new GsonBuilder()の違いは何か気になります。

前提

フロントエンドではJavaScriptのDataTablesライブラリを利用し、
CRUDのリクエストをJavaServletに送信しています。

下記がServlet側でレスポンスを送る際の記述です。

Java

1Gson gson = new Gson(); 2gson.toJson(mdl, res.getWriter());

Java

1new GsonBuilder().setDateFormat("yyyy-MM-dd").create() 2.toJson(mdl, res.getWriter());

上記のレスポンスの送り方について、
gson.toJson()new GsonBuilder()の違いは何でしょうか?

ご教授をしていただけると幸いです。
よろしくお願いします。

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

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

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

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

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

quickquip

2020/06/04 00:37

調べたことを書いてもらった方が回答者が説明しやすくなると思います。
makoto-n

2020/06/04 12:40

quiquiさんもご指摘ありがとうございます。 以後、気を付けます。
guest

回答1

0

ベストアンサー

gson.toJson()new GsonBuilder() の違いというより、

java

1Gson gson = new Gson(); 2gson.toJson(mdl, res.getWriter());

java

1Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create(); 2gson.toJson(mdl, res.getWriter());

の違いでしょうね。つまり、前者はデフォルトの設定で Gson オブジェクトを作ってるのに対して、後者は日付フォーマットを指定して作ってます。
なお、Gson は JSON を読み書きするものというのは大丈夫ですよね。
参考: Gson リファレンス

ちなみに、こういうのをビルダーパターンと言います。GsonBuilder にはこんな例がありますが、これらの設定を全部 Gson のコンストラクタで指定するようにしたら訳が分からなくなるので。
参考: 【デザインパターン】ビルダーパターン - dorivenの日記

java

1 Gson gson = new GsonBuilder() 2 .registerTypeAdapter(Id.class, new IdTypeAdapter()) 3 .enableComplexMapKeySerialization() 4 .serializeNulls() 5 .setDateFormat(DateFormat.LONG) 6 .setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE) 7 .setPrettyPrinting() 8 .setVersion(1.0) 9 .create();

投稿2020/06/04 01:11

hoshi-takanori

総合スコア7895

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

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

makoto-n

2020/06/04 12:36

ありがとうございます。 > 前者はデフォルトの設定で Gson オブジェクトを作ってるのに対して、 > 後者は日付フォーマットを指定して作ってます。 日付フォーマット、という点に着目すればよかったんですね! > なお、Gson は JSON を読み書きするものというのは大丈夫ですよね。 はい、そのように学習しています。 本当にありがとうございました!助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問