2015-10-04 102 views
1

我有一個包含JSON如下在殼變量轉換JSON字符串字符串文字

{ 「測試」: 「測試」, 「溫度」: 「溫度」 } shell變量

這是JSON的一部分,我得到了來自JQ,這是一個JSON解析器tool.But當我通過這個捲曲的POST請求體的一部分解析時,它被越來越轉化爲

'{' 
    '"test"' ':' 'test,' 
     '"temp"' ':' 'temp' 
    '}' 

但我想要它作爲

'{ 
     "test" : "test", 
     "temp" : "temp" 
    }' 

VAL=$(echo "$RET" | jq ".pending[$j].value") 

VAL是將包含JSON 可變我需要通過這個VAL作爲請求體捲曲

curl -X POST -H "$CONTENT_HEADER" -H "$AUTH_HEADER" http://localhost:8080/testApi -d $VAL 
+0

小心發佈您的bash代碼? –

+0

請查看[editing-help](http://stackoverflow.com/editing-help)。 – Cyrus

+0

你見過這篇文章http://stackoverflow.com/questions/7172784/how-to-post-json-data-with-curl-from-terminal-commandline-to-test-spring-rest – vvs

回答

2

外殼採用其解釋爲幾個參數。引用擴展(如在-d "$VAL")或管道它而不是將其保存到變量jq '...' | curl ...

+0

非常感謝 – jsphdnl