Преобразовать массив списков в массиве в json - PullRequest
0 голосов
/ 23 мая 2019

Я новичок в преобразовании JOLT. Я пытаюсь создать спецификацию преобразования. У меня есть список категорий в объекте, где мне нужно преобразовать только несколько деталей.

Мой пример кода и спецификации показаны ниже.

В списке "0 / SYS_CATALOG_DESCRIPTION" мне нужно преобразовать его в строку на основе lang, т.е. для en_US, мне нужно получить продукты AA конечный результат будет "_description": "AA Products"

«Подкатегории» должны дать мне следующий результат:

"subCategories": [
{
"_id": "ce_155584",
"_parentIds": ["ce_128375"],
"_description": "Filters" //based on lang = en_US
}
]

Образец JSON:

{
  "total": 16,
  "max_score": 2.2809339,
  "hits": [
    {
      "_index": "bosch-dms-frontend-service_en_us_1558584002",
      "_type": "categories",
      "_id": "ce_128375",
      "_score": 2.2809339,
      "_source": {
        "_parentIds": [
          "1234"
        ],
        "0/SYS_CATALOG_DESCRIPTION": [
          {
            "lang": "de_DE",
            "value": "AA Produkte"
          },
          {
            "lang": "en_US",
            "value": "AA Products"
          }
        ],
        "subCategories": [
          {
            "_index": "bosch-dms-frontend-service_en_us_1558584002",
            "_type": "categories",
            "_id": "ce_155584",
            "_score": 2.2809339,
            "_source": {
              "_parentIds": [
                "ce_128375"
              ],
              "0/SYS_CATALOG_DESCRIPTION": [
                {
                  "lang": "en_US",
                  "value": "Filters"
                },
                {
                  "lang": "zh_CN",
                  "value": "AA Filters (CN)"
                }
              ],
              "0/SYS_SYSTEMNAME": "AA_Filters"
            }
          }
        ]
      }
    }
  ]
}

SPEC:

[

  {
    "operation": "shift", // shift operation
    "spec": {
      "hits": {
        "*": { 
          "_id": "_id",
          "_source": {
            "_parentIds": "_parentIds",
            "0/SYS_CATALOG_DESCRIPTION": "_description",
          }
        }
      }
    }
    }

]

Конечный результат будет

{
  "_id" : "ce_128375",
  "_parentIds" : [ "1234" ],
  "_description" : "AA Products (BR)",
   "subCategories": [ 
            {
            "_id": "ce_155584",
            "_score": 2.2809339,
            "_parentIds": ["ce_128375"],
            "_description" : "Filters"
            }

   ]
}

Я пробовал несколько способов, но не смог достичь результата. Спасибо.

...