如何处理来自JSON的空数据

时间:2014-02-20 05:36:12

标签: php json

我需要处理一个空的JSON请求,以防用户蠢事。

这是我的代码:

$JSON = file_get_contents($url);

//Puts the JSON var into a parameter that actually does the decoding into JSON
$data = json_decode($JSON,true);

echo $JSON;
if ($JSON === ''){

header("Location: contact2.php");

}else{
//Execute the original plan 
}

这是一系列有趣的if语句,遗憾的是这些语句对我没用:

if(is_array($data))

if($JSON === null)

if($data === null)

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

假设您使用的是PHP> = 5.3,您可以使用json_last_error来确定解码是否成功:

if(json_last_error() === JSON_ERROR_NONE) {
   // decoded fine
} else {
   // error decoding json
}

答案 1 :(得分:0)

检查数组的empty,请参阅链接 http://in3.php.net/empty

答案 2 :(得分:0)

使用gettype

if ( gettype(json_decode($data))=='NULL' ){
    //error handler here
}