首页 > 解决方案 > 如何使用 JOLT 规范删除父级并修改输入 JSON 字段?

问题描述

我必须删除 _id 字段,使用 $date 作为日期前缀,并从输入 JSON 中删除 JSON。任何人都可以使用 JOLT 规范来帮助实现这一目标吗?

输入:

{
   "JSON":{
      "_id":{
         "oid":"5f9122213f077e24b639d084"
      },
      "name":"Mongodb",
      "age":"98",
      "ttlTime":{
         "date":1536165487000
      }
   }
}

预期输出:

{
   "name":"Mongodb",
   "age":"98",
   "ttlTime":{
      "$date":1536165487000
   }
}

我正在使用以下规范,但没有获得所需的输出。震动规格:

[
   {
      "operation":"remove",
      "spec":{
         "JSON":{
            "_id":""
         }
      }
   },
   {
      "operation":"shift",
      "spec":{
         "JSON":{
            "ttlTime":{
               "date":"ttlTime.\\$date"
            }
         },
         "*":"&",
         "JSON":""
      }
   }
]

标签: jsonmongodbjolt

解决方案


检查这个规格,

[
  {
    "operation": "shift",
    "spec": {
      "JSON": {
        "name": "name",
        "age": "age",
        "ttlTime": {
          "date": "ttlTime.\\$date"
        }
      }
    }
  }
]

推荐阅读