我需要为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的任何指示?感谢您的帮助。
EDITED: 我写了以下代码:
$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]);
}
但是上面的代码并没有创建未应用的部分:(对我出错的地方有任何帮助。
答案 0 :(得分:0)
您需要将key:value对包装在另一个数组中。
将其更改为:
$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);