2017-08-30 69 views
0

我已經瀏覽了Jolt中的大部分測試用例,這些測試用例似乎都可以作爲示例,但無法找到任何符合我所需要的內容。對於背景,源代碼是來自Google工作表的簡化版本。所以行和列。使用Jolt簡化Google表JSON

來源JSON:

[ 
    { 
    "values": [ 
     { 
     "formattedValue": "ACHME - Thailand" 
     }, 
     { 
     "formattedValue": "5,368.11" 
     }, 
     { 
     "formattedValue": "17.09%" 
     } 
    ] 
    }, 
    { 
    "values": [ 
     { 
     "formattedValue": "ACHME-B2A" 
     }, 
     { 
     "formattedValue": "101.47" 
     }, 
     { 
     "formattedValue": "0.32%" 
     } 
    ] 
    }, 
    { 
    "values": [ 
     { 
     "formattedValue": "ACHME-B2E" 
     }, 
     { 
     "formattedValue": "83.79" 
     }, 
     { 
     "formattedValue": "0.27%" 
     } 
    ] 
    } 
] 

所需的輸出:

[ 
    { 
    "row": [ 
    "ACHME - Thailand", 
    "5,368.11", 
    "17.09%" 
    ] 
    }, 
    { 
    "row": [ 
     "ACHME-B2A", 
     "101.47", 
     "0.32%" 
    ] 
    }, 
    { 
    "row": [ 
     "ACHME-B2E", 
     "83.79" 
     "0.27%" 
    ] 
    } 
] 

我已經試過這顛簸的是讓我最的方式出現,但我還是失去了行邊界。這一切都與一個「行」元素和數組中的所有值一起出來。

[ 
    { 
    "operation": "shift", 
    "spec": { 
     "*": { 
     "values": { 
      "*": { 
      "formattedValue": "row[]" 
      } 
     } 
     } 
    } 
    } 
] 

回答

0

規格

[ 
    { 
    "operation": "shift", 
    "spec": { 
     "*": { // row index 
     "values": { 
      "*": { // column index 
      "formattedValue": "[&3].row[&1]" 
      } 
     } 
     } 
    } 
    } 
] 

注意,這假定所有傳入的 「值」 的數組是相同的長度。

+0

謝謝米洛。由於這是概念上來自電子表格,所以假設「值」數組長度相同是有效的。這對我來說將是一個非常有用的模式。 – Mark