2017-08-02 4 views
0

JOLTシフトを使用して変換するJSON入力があります。私の問題は、出力データの新しいキーとして入力キーの値を使用し、その新しい出力キーに別の値を追加したいということです。2つの2つの値を使用して新しいキー/値のペアを作成するJolt変換

"Description": { 
    "Name": "John", 
    "KeyNameId": "John123", 
    "Description": "John's description" 
} 

そして私は、私の出力になりたい::ここに私の入力がある

"Description": { 
    "John123": "John's description" 
} 

とにかく2つのシフト操作を使用せずにこれを行うには? または2つのシフトが不可能な場合は、

答えて

1

はい、「@(数、単語)」演算子を使用して1回のシフトで実行できます。

入力 - わずかに明確にするために改変

{ 
    "Top": { 
    "Name": "John", 
    "KeyNameId": "John123", 
    "Description": "John's description" 
    } 
} 

スペック

[ 
    { 
    "operation": "shift", 
    "spec": { 
     "Top": { 
     // match the key "Description" and copy it's value to the Output. 
     // The Output path being defined by @(1,KeyNameId), which means 
     // go back up the tree 2 levels (0,1) and lookup the value of 
     // "KeyNameId" 
     "Description": "@(1,KeyNameId)" 
     } 
    } 
    } 
] 
関連する問題