像xslt / saxon一样简单的json转换

时间:2018-08-28 14:15:50

标签: json etl jsonpath

我正在研究“提取转换负载”项目。

在我以前的ETL项目中,数据负载是用XML构造的,而我在转换部分中使用xslt。

对于此项目,数据使用JSON。

是否有一种方便的方法,可以在json中使用jsonpath来将一个json文件转换为另一个json文件,就像saxon在单个命令行上执行此操作一样?

例如:Program -i input.json -t transfo.json -o output.json

input.json
{
    "creationDate": "2018-05-29T12:41:08,306+02:00",
    "id": "7edb06eb-2298-34b9-a9f5-cf47f645a6b6", 
    "smartdata":
    {
        "producer": "r2d2"
    }
    "versionSchema": "null"
}
transfo.json
{
    "data": 
        {
            "uuid": "$.id",
            "producer": "$.smartData.producer"
        }
}
output.json
{
    "data": 
        {
            "uuid": "7edb06eb-2298-34b9-a9f5-cf47f645a6b6", 
            "producer": "r2d2"
        }
}

谢谢

1 个答案:

答案 0 :(得分:0)

您可以用xml包装json并使用saxon。有点骇人,但很简单,应该可以。