我的应用程序允许用户为文本等定义一些模板。例如:快捷方式之一可以是hi {{name}},很高兴见到你
。
我有一个复杂的 json,其中有名称和许多内部 json。我正在java中寻找一种好的mustache类型的实现,它可以将json的值替换为字符串。目前,我正在迭代每个键并替换字符串,但我正在寻找更优雅的解决方案,该解决方案为用户提供更多的模板功能,如循环、条件等,类似于 mustache / Handlebars 。
虽然 Mustache for java 看起来不错,但我还没有看到任何可以用 JSON 替换的实现。所有示例都适用于对象,但不适用于 json 对象。在我看来,它在内部使用对象映射器将对象转换为对象,并以某种方式应用它。
也许我可以将 JSON 转换为 map 并提供它。
也许我错过了一些东西。谢谢。
最佳答案
您必须将 JSON 字符串转换为 Java 对象。您可以使用嵌套的 Map、Multimap 或创建自己的对象来表示结构。
您可能想使用 JSON 序列化器从 JSON 字符串创建 java 对象。好的解决方案是 Jackson , Gson或Json-simple .
一旦获得了 JSON 的正确 Java 表示形式,就可以使用模板引擎来进行字符串替换。已知的库有 Freemarker , Velocity和 StringTemplate
我个人推荐Jackson+Freemarker,但都是很好的解决方案。
关于java - Java 中的 Mustache 类型的字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12959886/