使用bash发送json HTTP帖子

时间:2011-08-26 14:10:01

标签: json bash post

我想将一些数据发送到只接受json对象的Web服务。我将使用curl进行HTTP POST,但我想知道它有一个库在bash中创建一个json对象。

另一个要求是避免安装其他软件包(rpm / apt-get),而只安装其他bash文件作为库。

3 个答案:

答案 0 :(得分:11)

这是从BigQuery 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 :(得分: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"]``

答案 2 :(得分:0)

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

它被设计为在shell中尽可能可用,并替换由grep / sed / awk制作的脆弱的adhoc解析器以及由perl / python制作的重量级单行解析器。

需要Jansson,但您可以构建静态链接版本。