Как я могу проверить, поступают ли данные с разделителями строк или в формате JSON? - PullRequest
0 голосов
/ 12 января 2012

Допустим, у меня есть переменная $ data ['media'];Проблема в том, что данные могут выглядеть либо как строка, например,

$data['media'] = '1|BlahBLah2|0' 

, либо как строка в кодировке json, например

$data['media'] = '{"site_id":"1","string":"BlahBlah2","cool":"0"}';

.различить, если это строка с разделителями или строка в кодировке json?

Ответы [ 2 ]

0 голосов
/ 12 января 2012
if( json_decode( $data['media'] )!==NULL || strtolower( $data['media'] )=='null' )
{
  $data['media'] = json_decode( $data['media'] );
}
else
{
  # Not a JSON string
}
0 голосов
/ 12 января 2012

json_decode вернет декодированные данные или NULL, если это не данные JSON, поэтому вы можете использовать что-то вроде этого:

$decode = json_decode($data['media']);

if ($decode)
{
    // the data was json encoded, so now we can process it
    $data['media'] = $decode;
}
else // data is a string
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...