2011-08-26 54 views
4

我想將一些數據發送到只接受json對象的web服務。我將使用curl來創建HTTP POST,但我想知道它有一個庫在bash中創建一個json對象。用bash發送json HTTP文章

另一個要求是避免安裝其他軟件包(rpm/apt-get),但不要將其他bash文件安裝爲庫。

+0

要看的地方是http://json.org –

回答

11

這是一個例子採取形式大量查詢API

curl -H "Authorization: GoogleLogin auth=<<YOUR_TOKEN>>" \ 
-X POST \ 
-H "Content-type: application/json" \ 
-d '{"params":{"q":"select count(*) from [bigquery/samples/shakespeare];"},"method":"bigquery.query"}' \ 
'https://www.googleapis.com/rpc' 
1

結帳TickTick

這是一個真正的Bash JSON解析器。

一個字符串應該很快就會在工作中(但是使用bash的foreach創建你自己的應用並不困難)。

#!/bin/bash 
. /path/to/ticktick.sh 

# File 
DATA=`cat data.json` 
# cURL 
#DATA=`curl http://foobar3000.com/echo/request.json` 

tickParse "$DATA" 

echo ``pathname`` 
echo ``headers["user-agent"]`` 
0

我推薦Jshon。 http://kmkeen.com/jshon/

它被設計爲可從殼體內爲可用盡可能並替換從由脆性的adhoc解析器的grep/SED/AWK以及來自的Perl /蟒製成重量級單行的解析器。

需要Jansson,但是你可以建立一個靜態鏈接版本。