JOLT-преобразование на основе условия совпадения - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь преобразовать JSON в JSON, используя JOLT в зависимости от условия совпадения.

Если 'type': 'true', выполнить обработку.

JSON ввод:

{
     "features": [
        {
           "type": "true",
           "properties": {
           "class_lvl": "U",
           "image_url": [
              "http://www.google.com/149231_294002.jpg",
              "https://www.google.com/149231_294002.jpg"
           ],
           "review_date": "2019-03-27T15:42:02.523"              
         }
      }
    ]
  }

Спецификации JOLT, которые я придумал, но они не генерируются, поставьте так, как я хочу:

 [
      {
          "operation": "shift",
          "spec": {
          "features": {
            "*": {
              "properties": {            
               //go up one level and check if type = true then copy image URL
                "@(1,type)": {              
                  "true": {
                    "image_url": "Parent[&3].child.grandchild"
                  }
                }
              }
            }
          }
        }
      }
   ] 

1 Ответ

0 голосов
/ 29 марта 2019

Этот Spec работает:

[
  {
    "operation": "shift",
    "spec": {
      "features": {
        "*": {
          //"type": "Parent[#].child.grandchild.type",
          "properties": {
            //go up one level and check if type = true then copy image URL
            "@(1,type)": {
              "true": {
                "@2": "Parent[#].child.grandchild"
              }
            }
          }
        }
      }
    }
  }
  ]
...