我想在模板引擎的帮助下生成有效的JSON。特别是,我希望引擎用一个模型类的属性替换模板中的占位符。引擎应该允许使用转换器来处理复杂的类,如java.util.date
。此外,我不想显式地处理模板本身中的列表,而是希望任何类似集合的类型生成有效的JSON数组。
这可以是模板的一个示例:
{
"uber" :
{
"version" : "1.0",
"data" :
[
{
"rel" : $relations,
"data" :
[
{"name" : "firstname", "value" : $firstname},
{"name" : "lastname", "value" : $lastname}
]
}
]
}
}
我想从具有relations、firstname和lastname属性的模型中替换此模板中的变量($relations
、$firstname
、$lastname
)。这也应该适用于嵌套属性。(例如:$address.street
)
绑定模型后,JSON可能如下所示:
{
"uber" :
{
"version" : "1.0",
"data" :
[
{
"rel" : ["person"],
"data" :
[
{"name" : "firstname", "label" : "Firstname", "value" : "Max"},
{"name" : "lastname", "label" : "Lastname", "value" : "Mustermann"}
]
}
]
}
}
请注意,引擎需要注意在必要时使用引号。
是否有任何模板库可以这样做,或者我需要滚动我自己的库?
我已经查看了以下库:
而且我还读了几条线程:
然而,我至今没有找到一个令人满意的解决办法。
背景资料:
Uber是领域无关的超媒体格式,它嵌套data
元素,以便对数据进行编码。如果您想用jackson这样的库序列化它,这种格式的生成非常麻烦,因为您必须创建大量对象并通过setter嵌套它们,这会导致大量代码,而且非常容易出错。
这就是为什么我想到使用模板来生成输出,并让用户编写一个模板,然后将一个模型绑定到这个模板来生成输出。
我的问题找到了答案:
我对模板中的变量使用以下表示法:$(json.path.to.value)
。我已经通过JayWay从JsonPath库中实现了一个自定义的谓词
,它在JSON中查找符合变量定义的值。
谓词还接受一个documentcontext
,它表示模型对象,变量的值应该从该对象中获得。这个文档上下文是通过用jackson序列化模型对象并用JsonPath库重新读取它来创建的。这样,就可以确保插入到模板中的所有令牌都是有效的JSON令牌。
如果谓词找到一个变量,它将提取包含的JsonPath表达式,在提供的documentcontext
中查找新值,并覆盖原始JSON中的值。
本文向大家介绍简单谈谈Vue 模板各类数据绑定,包括了简单谈谈Vue 模板各类数据绑定的使用技巧和注意事项,需要的朋友参考一下 『天下武功,唯快不破』√,这一直是对武学造诣方面的追捧,虽然对于这个丝毫不会;更是对待现实工作不懈渴求,乃至苛求。因为这已不是遁隐修行,而是职场卖命,唯有先快速解决需求,方能攫取更为充盈的时间去深究技术机理,以使臻于更强,更强而优于快,如此优良循环得以形成。言归正传,作为
双向绑定
我无法让它工作: 无法编译,错误消息如下: 无效使用temping-id'运算符*
问题内容: 使用我正在尝试在模板中使用自己的功能之一。不幸的是,我无法使用go模板的功能映射功能。我得到的只是以下错误: 简化的测试用例如下所示(): 我有以下简单模板(): 这是1.1.1。 问题答案: IIRC,必须在解析模板之前定义模板功能图。下面的代码似乎有效。
本文向大家介绍Android自定义控件实现简单写字板功能,包括了Android自定义控件实现简单写字板功能的使用技巧和注意事项,需要的朋友参考一下 先来看看效果图 就是简单的根据手指写下的轨迹去画出内容 一、实现 之前一篇文章里提到了android官方给出的自定义控件需要考虑以下几点: 创建View 处理View的布局 绘制View 与用户进行交互 优化已定义的View 就按照这个步骤来完成今天的
问题内容: 我是Java图形和线程的新手,我正在尝试制作一个游戏(特别是Pong)。这个想法是两个人可以在同一个键盘上玩(即,有两个通过不同键控制的拨盘)。目前,两个玩家都无法同时移动其球拍。 有针对这个的解决方法吗?单独的线程是答案吗? 如果可能的话,我希望这些拨片能够同时(至少在表面上)移动。 更新:似乎使用存储按下的键是最好的选择。我已经做到了(并且可以正常工作),但是我想知道是否其中的任何