Я никогда раньше не использовал JSON, поэтому извиняюсь, если это простой запрос.
У меня есть настройка веб-перехватчика, которая отправляет мне сообщение JSON (пример ниже) - я хочу извлечь два ответа из этого "text":"250252" и {"label":"CE"}
{
"event_id": "1",
"event_type": "form_response",
"form_response": {
"form_id": "VpWTMQ",
"token": "1",
"submitted_at": "2018-05-22T14:11:56Z",
"definition": {
"id": "VpWTMQ",
"title": "SS - Skill Change",
"fields": [
{
"id": "kUbaN0JdLDz8",
"title": "Please enter your ID",
"type": "short_text",
"ref": "9ac66945-899b-448d-859f-70562310ee5d",
"allow_multiple_selections": false,
"allow_other_choice": false
},
{
"id": "JQD4ksDpjlln",
"title": "Please select the skill required",
"type": "multiple_choice",
"ref": "a24e6b58-f388-4ea9-9853-75f69e5ca337",
"allow_multiple_selections": false,
"allow_other_choice": false
}
]
},
"answers": [
{
"type": "text",
"text": "250252",
"field": {
"id": "kUbaN0JdLDz8",
"type": "short_text"
}
},
{
"type": "choice",
"choice": {
"label": "CE"
},
"field": {
"id": "JQD4ksDpjlln",
"type": "multiple_choice"
}
}
]
}
}
В настоящее время у меня есть это в моем файле PHP:
$data = json_decode(file_get_contents('php://input'));
$ID = $data->{"text"};
$Skill = $data->{"label"};
Это не работает, и все, что я получаю, равно нулю. Любая помощь будет принята с благодарностью, спасибо.






Вам нужно посмотреть на объект JSON, который вы получаете, чтобы узнать структуру объекта, который вы получаете после использования json_decode, то, что вы пытаетесь получить, находится в $data->form_response->answers, поэтому у вас может быть переменная для более легкого доступа:
$answers = $data->form_response->answers;
помните, что $answers - это массив
Итак, чтобы добиться того, чего вы пытаетесь достичь, вы можете:
$data = json_decode(file_get_contents('php://input'));
$answers = $data->form_response->answers;
$ID = $answers[0]->text;
$Skill = $answers[1]->choice->label;
ты можешь
var_dump(file_get_contents('php://input'));