Я пытаюсь проанализировать данные, возвращаемые 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
Я должен был восстановить вашу неверную строку 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>';
}
Других решений пока нет …