0

我需要具有以下 JSON 结构。

预期的 JSON:

[
[count:5,applied:{key:value},{key:value},{key:value},{key:value},{key:value}],
[count:2,notapplied:{key:value},{key:value}]
]

下面是我的代码:

$json = array(); 
$json[]=array("Count"=>5);
while($mydata=mysql_fetch_array($myquery))
{
   $json[]=array("key" => $mydata[0]);
}
json_encode($json);

上面的代码只是创建了下面的 JSON 结构,我需要有下面的 JSON 结构。

[{count:5},{key:value},{key:value},{key:value},{key:value},{key:value}]

关于如何实现预期 JSON 的任何指示?感谢您的帮助。

编辑:我写了以下代码:

$json = array(); 
  $json[]=array("Count"=>5);
while($mydata=mysql_fetch_array($myquery))
    {
     $json['applied'][]=array("key" => $mydata[0]);   
    }
  $json[]=array("Count"=>2);
while($mydata1=mysql_fetch_array($myquery1))
    {
     $json['not applied'][]=array("key" => $mydata[0]);   
    }

但是上面的代码不会创建未应用的部分:(关于我哪里出错的任何帮助。

4

1 回答 1

0

您需要将您的键:值对包装在另一个数组中。

将其更改为:

$json = array(); 
$json[]=array("Count"=>5);
$applied = true;
while($mydata=mysql_fetch_array($myquery))
{
   $json[($applied ? 'applied' : 'notapplied')][]=array("key" => $mydata[0]);
}
json_encode($json);
于 2013-10-28T16:12:35.443 回答