如何将POSTed JSON值转换为PHP?

时间:2013-02-09 05:36:38

标签: php json api post get

作为测试,此JSON数据正在发布到我的网站:

{
    "order": {
        "id": null,
        "created_at": null,
        "status": "new",
        "total_btc": {
            "cents": 100000000,
            "currency_iso": "BTC"
        },
        "total_native": {
            "cents": 2263,
            "currency_iso": "USD"
        },
        "custom": "123456789",
        "button": {
            "type": "buy_now",
            "name": "Test Item",
            "description": null,
            "id": null
        },
        "transaction": {
            "hash": "4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b",
            "confirmations": 0
        }
    }
}

由于服务器到服务器的发送,我无法看到数据。我已经尝试将$ _POST数组发送到文本文件,但它出现空白。我认为我需要做的是:

$data = json_decode($jsonData);

但是如何设置变量$ jsonData?

3 个答案:

答案 0 :(得分:3)

您可以尝试使用wrappers来阅读原始POST查询。

$data = file_get_contents("php://input");

答案 1 :(得分:0)

你试过这个,把获得的sting存储到一个变量然后解码吗?

$postedJsonData= '{"order":{"id":null,"created_at":null,"status":"new","total_btc":
{"cents":100000000,"currency_iso":"BTC"},"total_native":
{"cents":2263,"currency_iso":"USD"},"custom":"123456789","button":
{"type":"buy_now","name":"Test Item","description":null,"id":null},"transaction":
{"hash":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b","confirmations":0}}}';

var_dump(json_decode($postedJsonData, true));

true参数将返回一个关联数组

答案 2 :(得分:0)

$ data = json_decode($ jsonData,True);