最近实现了一套数据拼接的语法

开发中经常碰到需要拼接数据的情况,例如元数据

{
    "order":[
        {
            "orderNo":"1234567899975554444",
            "userId":"12",
            "productId":"200"
        },
        {
            "orderNo":"1234567899975554445",
            "userId":"13",
            "productId":"300"
        }
    ],
    "user":[
        {
            "id":"12",
            "name":"timi",
            "phone":"1333333333"
        },
        {
            "id":"13",
            "name":"timi2",
            "phone":"1333333333"
        }
    ],
    "product":[
        {
            "id":"200",
            "name":"name",
            "imageId":"1"
        },
        {
            "id":"300",
            "name":"name",
            "imageId":"1"
        }
    ],
    "image":[
        {
            "id":"1",
            "url":"/aa/bb.jpg"
        },
        {
            "id":"2",
            "url":"/cc/dd.jpg"
        }
    ]
}

一般需要拼接成

{
    "order":[
        {
            "orderNo":"1234567899975554444",
            "userName":"timi",
            "userPhone":"1333333333",
            "productName":"name",
            "imageUrl":"/aa/bb.jpg"
        }
    ]
}

一般都是需要写代码实现,而且中间还有数据字段需要隐藏或者转换,最近实现了一套规则,减少类似的代码书写,提升工作效率,全部使用规则实现数据的输出,找个时间整理一下开源出来

{
    "order|rangeArray":[
        {
            "orderNo":"$(order.[#].orderNo)",
            "userName":"$(order.[#].userId)|$(user.#(id=="$(variable)").name)",
            "userPhone":"$(order.[#].userId)|$(user.#(id=="$(variable)"). phone)",
            "productName":"$(order.[#].productId)|$(product.#(id=="$(variable)").name)",
            "imageUrl":"$(order. productId)|$(product.#(id=="$(variable)").imageId)|$(image.#(id=="$(variable)").url)"
        }
    ]
}
添加新评论