从php解码javascript json时出错

从php解码javascript json时出错,php,json,Php,Json,从php解码使用javascript json.stringfy创建的json时遇到问题。可能问题是对象有数组。 JSON和核心是: $jsonString = "{"tabLabels":["tab1","tab2","tab3","tab4","tab5"],"tabBgs":["21","2","3","0","4"],"tabPublico":[0,0,1,1,0],"fuente":"2","size":"17px"}"; $jsonObj = json_decode($jsonSt

从php解码使用javascript json.stringfy创建的json时遇到问题。可能问题是对象有数组。 JSON和核心是:

$jsonString = "{"tabLabels":["tab1","tab2","tab3","tab4","tab5"],"tabBgs":["21","2","3","0","4"],"tabPublico":[0,0,1,1,0],"fuente":"2","size":"17px"}";

$jsonObj = json_decode($jsonString);

echo $jsonObj->obj;
$tabs = $jsonObj->tabPublico
for ($i=0;$i<strlen($tabs);$i++)
{
   echo $tabs[i];
}
$jsonString=“{”tabLabels:[“tab1”,“tab2”,“tab3”,“tab4”,“tab5”],“tabBgs:[“21”,“2”,“3”,“0”,“4”],“tabPublico:[0,0,1,1,0],“fuente:“2”,“size:“17px”}”;
$jsonObj=json_decode($jsonString);
echo$jsonObj->obj;
$tabs=$jsonObj->tabPublico

对于($i=0;$i来说,这些都是你的错误

  • 用单引号括起您的
    $jsonString
  • 您在第6行遗漏了分号
  • 您使用的是
    strlen()
    而不是
    count()

修改代码

<?php
$jsonString = '{"tabLabels":["tab1","tab2","tab3","tab4","tab5"],"tabBgs":["21","2","3","0","4"],"tabPublico":[0,0,1,1,0],"fuente":"2","size":"17px"}';

$jsonObj = json_decode($jsonString);
$tabs = $jsonObj->tabPublico;
foreach($tabs as $k=>$v)
{
echo $v;
}

尝试这样做。json被严重转义,对于数组,必须使用
count()
查找要循环的数组长度

$jsonString = '{"tabLabels":["tab1","tab2","tab3","tab4","tab5"],"tabBgs":["21","2","3","0","4"],"tabPublico":[0,0,1,1,0],"fuente":"2","size":"17px"}';
$jsonObj = json_decode($jsonString);
$tabs = $jsonObj->tabPublico;
for($i=0;$i<count($tabs);$i++)
{
   echo $tabs[$i];
}
$jsonString='{“tabLabels”:[“tab1”、“tab2”、“tab3”、“tab4”、“tab5”],“tabBgs”:[“21”、“2”、“3”、“0”、“4”],“tabPublico”:[0,0,1,1,0],“fuente”:“2”,“大小”:“17px”};
$jsonObj=json_decode($jsonString);
$tabs=$jsonObj->tabPublico;
对于($i=0;$i)

用单引号传递JSON字符串。

这是你的代码吗?如果是,你的JSON字符串转义得很糟糕。@Florent,他的JSON很好。@ShankarDamodaran你知道我的意思(见你的答案)。谢谢你的回答Shankar和Deepu。我在这里简化了我的代码以关注问题,我有几个错误,jsonString是从sql读取的,不像示例中那样是一个固定的局部变量,然后我没有引号错误和分号。但是你的回答对我帮助很大,我有一个错误的循环,我有一个错误的回音这次投票结果被破坏了。非常感谢!(我当然投了赞成票,我对反对票一无所知)
$jsonString = '{"tabLabels":["tab1","tab2","tab3","tab4","tab5"],"tabBgs":["21","2","3","0","4"],"tabPublico":[0,0,1,1,0],"fuente":"2","size":"17px"}';
$jsonObj = json_decode($jsonString);
$tabs = $jsonObj->tabPublico;
for($i=0;$i<count($tabs);$i++)
{
   echo $tabs[$i];
}
$jsonString = '{"tabLabels":["tab1","tab2","tab3","tab4","tab5"],"tabBgs":["21","2","3","0","4"],"tabPublico":[0,0,1,1,0],"fuente":"2","size":"17px"}'