2016-02-01 54 views
1

將bash變量轉換爲JSON數組和JSON對象在bash腳本中有一個變量X,其值爲asw|uduu|sssdd。我如何使用jq將它轉換爲JSON數組?使用jq

第二個變量Y的值爲A:1|B:1|C:1。我如何使用jq將它轉換爲JSON對象?

請幫我解決這些轉換任務。

回答

1
echo 'asw|uduu|sssdd' | jq -Rc 'split("|")' 

生產: [ 「反潛」, 「uduu」, 「sssdd」]

的 「-c」 選項是無關緊要的位置 - 它只是壓實輸出。

echo 'A:1|B:1|C:1' | 
jq -Rc 'split("|") | map(split(":") | {(.[0]): .[1]}) | add' 

生產:{ 「A」: 「1」, 「B」: 「1」, 「C」: 「1」}

要理解的最後一個是如何工作的,運行的最左部分首先,然後添加連續的部分。

+0

感謝您的幫助,它的工作原理。 –