2017-01-06 14 views
0

私はGsonを使用してJSONでjavabeanをシリアル化していますが、Date型フィールドに問題があります。Gsonを使用して日付フィールドを生成する方法

私は、任意の再定義

Gson gson = new GsonBuilder().create(); 

それは形式「2017年1月6日12時00分00秒AM」にJSONでDateフィールドを生成しますが、データ型StringとせずにGsonBuilderを作成した場合。

私は日付フォーマットに

Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create(); 

をビルダーを設定した場合には目的の形式でフィールドを生成しますが、文字列として残ります。

String型では、ピリオド(たとえば、this)に基づいてクエリを実行できません。どのように私はGsonを使用して日付フィールドの生成を確保することができます

before: 
{"_id" : ObjectId("586fa17851ba381278b059ac"), 
"start" : "2017-01-06"), 
... 
} 

after: 
{"_id" : ObjectId("586fa17851ba381278b059ac"), 
"start" : ISODate("2017-01-06T12:00:00.000Z"), 
... 
} 

:手動でレコードの1つを変更し、私は応答を得ることができましたか?

+0

。 BSONの使用を検討しますか? http://mongodb.github.io/mongo-java-driver/3.2/bson/extended-json/#mongodb-extended-json – Veeram

+0

あなたのコメントをお寄せいただきありがとうございます。私はBSON 。必要に応じて、回答をコメントとして入力します。 –

答えて

1

GsonからMongo db compatiable jsonを生成することはできません。

BSONは変換に役立ちます。 http://mongodb.github.io/mongo-java-driver/3.2/bson/extended-json/

また、あなたのためにこの部分を扱うMongo Dbオブジェクトマッパーライブラリを調べることもできます。

いくつかのライブラリが含まれます:

Morphia - http://mongodb.github.io/morphia/

春のMongo Dbは - 私はあなたがGsonからMongoDBのcompatiable JSONを生成することができるとは思わないhttp://projects.spring.io/spring-data-mongodb/

関連する問題