2014-09-07 5 views
1

Как проверить, является ли он действительным json до его декодирования, например, в случае массива, который мы можем проверить с помощью is_array(); можем ли мы сделать что-то подобное в PHP?Проверьте правильность строки JSON?

+0

'$ действует = json_decode ($ JSON)', если действует не является ложным, то его не идти – andrew

+1

Возможно заглянуть в регулярное выражение: http://stackoverflow.com/questions/2583472/regex-to-validate-json –

ответ

0

Первый decodestring с oppressor. Если он дает true, то действительный else недействителен. Также использовать тростник json_last_error(). Вы можете проверить таким образом ..

$str = 'your json string'; 
$test = @json_decode($str); 
if($test){ 
    echo 'Valid'; 
}else{ 
    echo 'not valid'; 
} 
+0

+1 предупреждения не будут * dare * показывать себя после угнетения – andrew

+2

Это само по себе это не совсем так. '[]' является допустимой строкой JSON, но не сможет выполнить ваш тест. Возвращаемое значение не является «истинным», это декодированное значение, которое может быть несколько. Также нет необходимости в '@', поскольку 'json_decode' не вызывает предупреждения AFAIK. – deceze

+0

Здравствуйте, я хочу проверить, пока он не был декодирован. Ваше решение проверяет наличие или отсутствие декодированного значения. – Shirshak

Смежные вопросы