从PHP正确格式化Json

时间:2014-05-18 16:36:42

标签: php json

我试图像这样得到我的JSON输出。

{"allterms":[{"group":{"Name":"Test 1"},{"group":{"Name":"Test2","Id":"298"}}]

我目前的代码是

while($r = mysql_fetch_assoc($rs)) {
$rows['allterms']['group'][] = $r;   
}

这给了我这个

{"allterms":{"group":[{"Name":"Test1", "Id":"1740"},{"Name":"Test2","Id":"631"}}]

如何调整代码,以便每个项目都有一个父词group

2 个答案:

答案 0 :(得分:1)

像这样更改循环:

while($r = mysql_fetch_assoc($rs)) {
    $rows['allterms'][]['group'] = $r;   
}

将生成:

array(
    'allterms' => array(
        0 => array(
            'group' => array(...),
        ),
        1 => array(
            'group' => array(...),
        )
        ...
    )

以json为准:

{
  "allterms": [
    {
      "group": {
        {
          "Name": "Test1",
          "Id": "1740"
        },
    {
      "group": {
        {
          "Name": "Test2",
          "Id": "631"
        }
     }
   ]
}

答案 1 :(得分:0)

您可以使用PHP中的array_push()函数。

while($r = mysql_fetch_assoc($rs)) {
    array_push($rows['allterms'], $r);   
}