JSON发布PHP(TypeForm) [英] JSON Post PHP (TypeForm)

查看:97
本文介绍了JSON发布PHP(TypeForm)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果这是一个简单的请求,我以前从未使用过JSON道歉.

I have never used JSON before so apologies if this is a simple request.

我有一个webhook设置,向我发送JSON帖子(下面的示例)-我想从此"text":"250252"& {"label":"CE"}

I have a webhook setup that sends me a JSON Post (Example Below) - I want to extract the two answers from this "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文件中有此文件

I have this currently in my PHP file:

$data = json_decode(file_get_contents('php://input'));
$ID = $data->{"text"};
$Skill = $data->{"label"};

这不起作用,我得到的全部为空-谢谢您的帮助.

This does not work and all I get is null - Any help would really be appreciated, Thank You.

推荐答案

使用json_decode后,您需要查看要接收的JSON对象,以了解要接收的对象的结构.尝试获取位于$data->form_response->answers中,因此您可以使用一个变量以方便访问:

You need to look at the JSON object you're receiving to know the structure of the object you're receiving after using json_decode, what you're trying to get is in $data->form_response->answers, So you can have a variable for easier access:

$answers = $data->form_response->answers;

记住$answers是一个数组

因此,要实现您想要获得的目标,您可以执行以下操作:

So to achieve what you're trying to get, you can do:

$data = json_decode(file_get_contents('php://input'));
$answers = $data->form_response->answers;
$ID = $answers[0]->text;
$Skill = $answers[1]->choice->label;

这篇关于JSON发布PHP(TypeForm)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆