我有一个JSON编码的回复,但是当我解码它时,在使用true
后我丢失了false
/ $var = json_decode($response);
个属性。
以下是一个例子:
{
"domain": "my.domain.com",
"created_at": "2014-11-15 00:26:53.74059",
"valid_mx": true
}
我甚至尝试过:
$var = json_decode($response, true);
但它似乎仍然放弃true
/ false
。如何从响应中正确提取true
/ false
?我错过了什么?
答案 0 :(得分:9)
您的问题出在print_r
上,而不是json_decode
。
print_r
未显示true
/ false
为true / false。相反,它会显示1
/ (blank)
。
您可以使用var_dump($var);
或var_export($var);
来代替显示正确的值。
答案 1 :(得分:3)
这应该适合你:
(用这个你有JSON字符串作为数组)
<?php
$response = '{
"domain": "my.domain.com",
"created_at": "2014-11-15 00:26:53.74059",
"valid_mx": true
}';
$var = json_decode($response, true);
if($var["valid_mx"] === TRUE)
echo "true";
else
echo "false";
?>
输出:
yes
如果您想要一个对象,只需更改此行:
$var = json_decode($response, true);
到此:
$var = json_decode($response);
然后你可以用这一行访问它:
if($var->valid_mx === TRUE)
答案 2 :(得分:1)
这对我有用:
if(json_decode($response)->valid_max){
//your stuff
}