我在网上找的一个函数:

function is_json($string) 
{
 json_decode($string);
 return (json_last_error() == JSON_ERROR_NONE);
}

$str = '{id:23,name:"test"}';
$str = "{'id':23,'name':'test'}";
为什么在PHP7,均不是合法的json格式呢??
有没有靠谱的方法??
登录后复制
登录后复制

回复内容:

我在网上找的一个函数:

function is_json($string) 
{
 json_decode($string);
 return (json_last_error() == JSON_ERROR_NONE);
}

$str = '{id:23,name:"test"}';
$str = "{'id':23,'name':'test'}";
为什么在PHP7,均不是合法的json格式呢??
有没有靠谱的方法??
登录后复制
登录后复制

JSON的格式,key与value都必须是双引号……

return json_encode($json)!==false

PHP7 采用了更严格的JSON规则,单引号已经不再能够用于引用和字段名。

var arr = {id:23,name:'test'}; //键名不用引号,值用单引号,在JS中,这样写都合法
alert(JSON.stringify(arr)); //但合法的JSON字符串应该是stringify后的模样 {"id":23,"name":"test"}
登录后复制
09-19 04:48