Jotform: Parse вернул проблему с данными - PullRequest
0 голосов
/ 03 ноября 2018

Я пытаюсь проанализировать данные, возвращаемые API Jotform.

Я успешно отображаю данные, но также получаю ненужные дополнительные строки текста.

Мой 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 голосов
/ 03 ноября 2018

Мне пришлось восстановить твою недопустимую строку json ...

Код: ( Демо )

$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>';
}
...