2

私のアプリケーションでは、ユーザーがテキストなどのいくつかのテンプレートを定義できます。例:ショートカットの1つはhi {{name}}, nice to meet you

名前と多くの内部jsonを持つ複雑なjsonがあります。私は、jsonの値を文字列に置き換えることができるJavaでの優れた口ひげのような実装を探しています。現在、私は各キーを繰り返して文字列を置き換えていますが、ユーザーが口ひげ/ハンドルバーに似たループや条件などのテンプレートをより強力に使用できる、よりエレガントなソリューションを探しています。

Javaの口ひげは良さそうに見えますが、JSONに置き換えることができる実装は見たことがありません。すべての例はオブジェクトに適用されますが、jsonオブジェクトには適用されません。内部的には、オブジェクトマッパーを使用してオブジェクトをオブジェクトに変換し、どういうわけかそれを適用しているように見えます。

おそらく、JSONをマップに変換して提供することができます。

おそらく私は何かが欠けています。ありがとう。

4

3 に答える 3

2

JSON文字列をJavaオブジェクトに変換する必要があります。ネストされたマップ、マルチマップを使用するか、独自のオブジェクトを作成して構造を表すことができます。

JSONシリアライザーを使用して、JSON文字列からJavaオブジェクトを作成することをお勧めします。良い解決策は、JacksonGson、またはJson-simpleです。

JSONの正しいJava表現ができたら、テンプレートエンジンを使用して文字列を置き換えることができます。既知のライブラリは、FreemarkerVelocity、およびStringTemplateです。

個人的にはJackson+Freemarkerをお勧めしますが、すべてが良い解決策です。

于 2012-10-18T17:18:35.833 に答える
0

Apache Velocityを試してみてください。これは、テキストのプロパティ置換と非常によく似ています。

于 2012-10-18T17:23:43.223 に答える
0

チャンクは非常にJSONに適したテンプレートエンジンです。ループと条件、タグの構文はMustacheに似ており、ネストされた連想配列のデータをテンプレートからかなりエレガントに参照できます。

この回答のJSON+チャンクのサンプルコードを参照してください。

于 2012-10-18T17:33:55.557 に答える