2017-12-22 7 views
0

Brauchen Sie Hilfe mit den folgenden Ich schreibe einen Webhook in PHP, und benötigen die Fähigkeit, die Kontextparameter zu lesen.So lesen Sie Kontextparameter mit php webhook im Dialog

Kann mir jemand helfen zu verstehen, wie es geht?

Hier ist mein Beispiel JSON:

{ 
    "id": "6e774dc2-2323-42b3-bd3c-ab64930f8b92", 
     "timestamp": "2017-12-22T21:12:19.094Z", 
     "lang": "en", 
     "result": { 
     "source": "agent", 
     "resolvedQuery": "Yes", 
     "action": "Triage.Triage-yes", 
     "actionIncomplete": false, 
     "parameters": {}, 
     "contexts": [ 
      { 
      "name": "triage-followup", 
      "parameters": { 
       "triagecriteria": [], 
       "roomEntity.original": "", 
       "roomname": "300", 
       "roomnames.original": "living", 
       "roomid": "200", 
       "context": "", 
       "roomnames": [ 
       "living" 
       ], 
       "counter": "400", 
       "roomEntity": "100", 
       "triagecriteria.original": "" 
      }, 
      "lifespan": 3 
      } 
     ], 
     "metadata": { 
      "intentId": "ecd4a2e5-65a0-41b2-ac72-edcf4d2e73f2", 
      "webhookUsed": "true", 
      "webhookForSlotFillingUsed": "false", 
      "webhookResponseTime": 203, 
      "intentName": "Triage - yes" 
     }, 
     "fulfillment": { 
      "speech": "Yes", 
      "source": "agent", 
      "displayText": "No", 
      "messages": [ 
      { 
       "type": 0, 
       "speech": "Yes" 
      } 
      ] 
     }, 
     "score": 1 
     }, 
     "status": { 
     "code": 200, 
     "errorType": "success", 
     "webhookTimedOut": false 
     }, 
     "sessionId": "db8c1a4e-fa0c-4257-a536-78b63879eef9" 
    } 

Ich möchte beziehen können [Ergebnisse] [Contexts] [Parameter]

Ich bin mit

$update_response = file_get_contents("php://input"); 
$update = json_decode($update_response, true, 512, JSON_BIGINT_AS_STRING); 

und zu versuchen, Zugriff auf den Wert als $ update ["Ergebnisse"] ["Kontexte"] ["Parameter"] ["roomid"]

+0

Haben Sie JSON Decode versucht? – singh

+0

Ja Ich verwende JSON Decode zum Parsen. – PrabS

+0

Ich verwende $ update_response = file_get_contents ("php: // input"); $ update = json_decode ($ update_response, true, 512, JSON_BIGINT_AS_STRING); und versuche, auf den Wert als $ update zuzugreifen ["results"] ["Contexts"] ["Parameters"] ["roomid"] – PrabS

Antwort

0

Bei den Namen wird zwischen Groß- und Kleinschreibung unterschieden. und Sie müssen vorsichtig sein über "s" es. Da es sich bei einigen der Elemente um numerisch indizierte Arrays handelt, müssen Sie diese als Teil des Indexes hinzufügen. Versuchen Sie

$update["result"]["contexts"][0]["parameters"]["roomid"] 
+0

Ich bin froh, dass es geholfen hat! Akzeptieren und/oder Upvoting gute Antworten werden immer geschätzt. – Prisoner