2016-10-05 3 views
1

У меня есть JSON, который выглядит так, и я использовал json_decode (file_get_contents ('php: // input'), true); чтобы превратить его в массивPHP JSON Decoding String Issue/Facebook messenger

{ 
"object": "page", 
"entry": [ 
    { 
     "id": "", 
     "time":, 
     "messaging": [ 
      { 
       "sender": { 
        "id": "" 
       }, 
       "recipient": { 
        "id": "" 
       }, 
       "timestamp":, 
       "message": { 
        "mid": "", 
        "seq": "", 
        "text": "STORE, POSTAL CODE" 
       } 
      } 
     ] 
    } 
] 

}

После того, как JSON, был расшифрован Я хотел, чтобы захватить текстовую часть JSON, поэтому я сделал

$message = ($post['entry'][0]['messaging'][0]['message']['text'] 
$query = explode(',', $message); 

Затем я использовал $ запрос [ 0] и $ query [1] в некоторых SQL-запросах.

По какой-то причине, когда я жестко задаю $ сообщение для некоторого текста, например $ message = 'store, postal'; он будет работать, но не тогда, когда я буду использовать взрыв.

FYI, этот json поступает из Facebook, поскольку я использую messenger api.

+1

Вы попробовали распечатать то, что получаете в $ post ['entry'] [0] ['messaging'] [0] ['message'] ['text'] first? если нет, то я предлагаю сначала проверить его один раз, потому что взорваться никогда не удастся. –

ответ

0
  1. Убедитесь, что $ пост [ 'запись'] [0] [ 'сообщений'] [0] [ 'сообщение'] [ 'текст'] дает "STORE, почтовый индекс".
  2. Как я вижу, json содержит строки в верхнем регистре, а ваш пример - строчные. Возможно, это важно в вашем коде дальше.
+0

Я посмотрел, что возвращает $ post, и это то, что ожидается, «STORE, POSTAL CODE» просто означает, что это местозаполнитель, но то, что действительно следует ожидать, похоже на «somestore, postalcode» в нижних регистрах, У меня также есть некоторые очистки текста, которые я делаю после. Кроме того, я тестировал его при кодировании $ message, и все работает так, как я предполагал, его просто, когда я разбиваю его на входящий текст, который все испортит. – efxgamer