Jotform:解析返回的数据问题

时间:2018-11-02 22:28:05

标签: php json jotform

我正在尝试解析Jotform API返回的数据。

我已经成功地回显了数据,但是我也得到了不必要的额外文本行。

我的PHP代码是:

包括“ JotForm.php”;

$jotformAPI = new JotForm("myapikey");

$submissions = $jotformAPI->getFormSubmissions("myformid");
var_dump($submissions );

foreach ($submissions as $data) {
    $detail = $jotformAPI->getSubmission($data['id']);

    foreach ($detail as $d) {
        echo $d[1]['answer']['first'] . '<br>';
    }
}

var_dump($ submissions);

的结果
{
"responseCode": 200,
"message": "success",
"content": [{
    "id": "237955080346633702",
    "form_id": "31751954731962",
    "ip": "123.123.123.123",
    "created_at": "2013-06-25 03:38:00",
    "updated_at": "2013-06-27 04:58:00",
    "status": "ACTIVE",
    "new": "1",
    "answers": {
        "1": {
            "text": "Name",
            "type":"control_fullname",
            "answer": {
                "first": "LeBron",
                "last": "James"
            },
            "prettyFormat": "LeBron James"
        },
        "2": {
            "text": "Your Message",
            "type": "control_textarea",
            "answer":"¡Ay, caramba!"
        }
}],

}

这是我得到的结果:

1
0
0
0
C



0
LeBron

1 个答案:

答案 0 :(得分:1)

我不得不修复您无效的json字符串...

代码:(Demo

$json = '{
"responseCode": 200,
"message": "success",
"content": [{
    "id": "237955080346633702",
    "form_id": "31751954731962",
    "ip": "123.123.123.123",
    "created_at": "2013-06-25 03:38:00",
    "updated_at": "2013-06-27 04:58:00",
    "status": "ACTIVE",
    "new": "1",
    "answers": {
        "1": {
            "text": "Name",
            "type":"control_fullname",
            "answer": {
                "first": "LeBron",
                "last": "James"
            },
            "prettyFormat": "LeBron James"
        },
        "2": {
            "text": "Your Message",
            "type": "control_textarea",
            "answer":"¡Ay, caramba!"
        }
}}]
}';
foreach (json_decode($json, true)['content'] as $set) {
    echo "{$set['answers'][1]['answer']['first']} {$set['answers'][1]['answer']['last']}\n";
}

输出:

LeBron James

我对jot函数的动作有点模糊,但也许应该是这样的:

foreach ($submissions as $data) {
    $detail = $jotformAPI->getSubmission($data['id']);
    echo $detail['answers'][1]['answer']['first'] . '<br>';
}