我有个设想。
所需的输入和输出为JSON。
// Input
{
"OldObject": {
"Time": 1351160457922,
"Name": "OName",
"quantity": 100,
"price": 10
}
}
// Output
{
"NewObject": {
"Time": 1351160457922,
"Title": "OName",
"quantity": 100
}
}
我需要一些转换代码或最好是xslt类型的语言来转换json从一种格式到另一种格式。这个转换器也需要快速转换将在飞行中完成。
编辑
我没有接收到的INPUT对象的定义,它可能会在运行时更改。但如果需要,我可以使用class作为OUTPUT对象。我曾尝试通过json -〉xml -〉xslt -〉xml -〉json来完成此操作,但在这一端每秒接收到大约1000个对象,此过程可能会产生开销。
我也不能使用JavaScript,因为myApp是简单的基于窗口的Java应用程序,使用JavaScript可能会导致开销。
8条答案
按热度按时间cdmah0mi1#
尝试JOLT。这是一个用Java编写的JSON到JSON转换库。它是在一个将大量JSON从ElasticSearch“后端”转换到前端API的项目上创建的。
对于您在问题中列出的JSON转换,Jolt“shift”规范将是:
a5g8bdjr2#
您可以使用JSON patch执行此转换。
jsonpatch-js的示例:
我没有测试提供的,但应该这样工作。
JSON修补程序有以下Java实现:
cczfrluj3#
你可以使用ZORBA和JsonIQ http://www.jsoniq.org/但是,它是一个本地库,它带有一个 Package 器,所以你可以在java中使用它。
cyvaqqii4#
你可以试试jmom一个小java库
plupiseo5#
您可以尝试使用Java库Silencio,它允许您将JSON文件的每个节点转换为新值。
iklwldmw6#
另一个选择是使用Logz.io Sawmill库。您可以定义一个管道并执行它。例如:
kmpatx3s7#
Javascript JSON转换器:https://raw.githubusercontent.com/udhayasoftware/codebase/master/standalone/javascript/TransformJSON.js
我们可以将JSON数组转换为JSON对象,反之亦然。唯一的问题是我们需要小心定义xPath。
警告:JSON无法在数组的不同维度之间转换。sourceXpath中'[]'的计数应该相等targetXpath中'[]'的计数,反之亦然。
fzsnzjdm8#
另一个选项是Josson。转换语句非常短: