是否有JSON 的XSLT等价物?允许我对XSON进行转换的事情,比如XSLT对XML做的转换.
我有一个用例,我在请求中收到一些属性,如下所示,
"filters": [
{
"field": "fName",
"value": "Tom"
},
{
"field": "LName",
"value": "Hanks"
}
]
Run Code Online (Sandbox Code Playgroud)
我没有为此定义模型.我只是在请求中收到这些属性,并使用这些属性触发弹性搜索查询.我在弹性搜索中的记录具有相同的属性名称.
现在,我必须支持遗产应用程序,其中属性的名称完全不同.例如:fName变为firstName,lName变为lastName.
问题:需要在请求中接受旧的属性名称,将它们转换为新的属性名称,以便它与我的弹性搜索记录匹配.获取具有新属性名称的数据,并在从应用程序发出响应之前转换回旧属性.
注意:我没有为这些记录定义POJO.
如何有效实现这一目标?我正在考虑使用Orika mapper,但不确定如果不首先定义类,它将如何工作.
下面的帖子引导我评估使用 jasonpatch 进行 json 到 json 转换:
该项目可以在这里找到:
https://github.com/bruth/jsonpatch-js
我目前正在尝试更改数组中所有元素的名称,但没有看到这是怎么可能的。我目前的尝试是:
var transformations = [
{ op: 'move', from:'/hits/1/_id', path: '/hits/1/pizza'}
];
Run Code Online (Sandbox Code Playgroud)
这会换出第一个元素,但如何执行“*”卡类型操作?就像是:
var transformations = [
{ op: 'move', from:'/hits/*/_id', path: '/hits/*/pizza'}
];
Run Code Online (Sandbox Code Playgroud)
我可以看到可能为每个元素调用 N 次转换,但这似乎是一个黑客。
JSONata是一种表达语言,旨在查询和转换JSON数据结构。
我发现JSONata的当前实现仅在Javascript中。(https://github.com/jsonata-js/jsonata)
我想在Java代码中使用JSONata。使用Java处理JSON文档将使工作变得更加轻松。
一种可能的方法是使用javax.script包下的标准Java类与基于Javascript的JSONata实现进行交互。
有没有人做过?是否有任何示例代码演示如何实现?
有没有人实现过在Java中使用JSONata的其他机制?