我对php和Json很陌生,我试图解码命令行Json字符串,但是Json解码函数在解码时给出null,我以正确的格式发送数据,不确定它为什么出错-- .I检查了线程,并按照url http://php.net/manual/en/function.json-decode.php
传递了数据。
这是我的密码
<? php
if($argc==2)
{
$jsonin=$argv[1];
echo $jsonin."\xA";
$jsonin="'".$jsonin."'";
echo $jsonin ."\xA";
$cmdval=json_decode($jsonin);
if($cmdval)
{
echo $cmdval->{'id'};
}
else
{
echo "Bad string" ;
}
}
else
{
echo "No arguments";
}
?>
我就是这样把它传递给代码的
php5 jsonparse.php '{ "time1":"2014/10/30 21:30:00", "time2":"2014/10/31 21:30:00" }'
以下是输出
{ "time1":"2014/10/30 21:30:00", "time2":"2014/10/31 21:30:00"}
'{ "time1":"2014/10/30 21:30:00", "time2":"2014/10/31 21:30:00"}'
Bad string
发布于 2014-11-07 06:56:50
我试过了,它就像一种魅力:
if($argc==2)
{
$jsonin=$argv[1];
$cmdval=json_decode($jsonin);
if($cmdval)
{
echo "You did it right !\r\n";
print_r($cmdval);
}
else
{
echo "Bad string" ;
}
}
else
{
echo "No arguments";
}
我做了如下操作:
php test.php '{ "time1":"2014/10/30 21:30:00", "time2":"2014/10/31 21:30:00" }'
发布于 2014-11-07 06:41:04
你为什么要这么做?$jsonin="'".$jsonin."'";
请删除此代码,然后再试一次。
https://stackoverflow.com/questions/26795440
复制相似问题