Как я могу извлечь селективные ключи через JSONata? - PullRequest
0 голосов
/ 09 июня 2018

Я просто хочу извлечь Название продукта, ProductID, SKU из объекта ниже

 {
        "Product Name": "Bowler Hat",
        "ProductID": 858383,
        "SKU": "0406654608",
        "Description": {
          "Colour": "Purple",
          "Width": 300,
          "Height": 200,
          "Depth": 210,
          "Weight": 0.75
        },
        "Price": 34.45,
        "Quantity": 2
}

Ожидаемый результат:

{
   "Product Name": "Bowler Hat",
   "ProductID": 858383,
   "SKU": "0406654608"
}

Пробные решения:

  1. Прямое сопоставление объектов:

    { "Product Name": `Product Name`, "ProductID": ProductID, "SKU": SKU }
    
  2. Просеивание:

    $sift(function($v, $k) {$k ~> /^Product Name|ProductID|SKU/})
    

Нужен более простой способ сделать это,Что-то вроде:

{ `Product Name`, ProductID, SKU}

1 Ответ

0 голосов
/ 09 июня 2018

Очевидная альтернатива:

{ "Product Name": `Product Name`, "ProductID": ProductID, "SKU": SKU }

или немного короче, если позиции всегда одинаковы:

{ "Product Name": *[0], "ProductID": *[1], "SKU": SKU }
...