响应字符串:
jQuery21408111137825120874_1451285646793({"result":"error","msg":"0 - This email address looks fake or invalid. Please enter a real email address."})
此响应由API提供。我正在使用PHP。我不确定给定的响应是否是JSON,但我已经厌倦了JSON_decode,但没有成功。请帮助我如何以数组格式对其进行解码。
您也可以使用$encodeArr=json_decode($yourString,true);
结果会得到一个数组。。
或者你可以使用$encodeArr=json_decode($yourString);$msg=$encodeArr->msg;这也适用于
试试这个:
$string = 'jQuery21408111137825120874_1451285646793({"result":"error","msg":"0 - This email address looks fake or invalid. Please enter a real email address."})';
preg_match('#'(({.*?})')#', $string, $match); // this will return the value inside the {}
$yourString = $match[1];
$encodeArr = json_decode($yourString);
echo "<pre>";
print_r($encodeArr);
结果是(以对象格式):
stdClass Object
(
[result] => error
[msg] => 0 - This email address looks fake or invalid. Please enter a real email address.
)
如果您想将此对象转换为array
,请在打印前使用此:
$requiredArr = (array) $encodeArr;
print_r($encodeArr);
结果是:
Array
(
[result] => error
[msg] => 0 - This email address looks fake or invalid. Please enter a real email address.
)
json_decode PHP函数的第二个参数是将json转换为数组PHP。如果它是一个有效的json,你可以有一个数组PHP对象,否则你的json将无效。
查看:json_decode PHP函数