我想创建一个类似于下面示例的JSON对象。
{
"Products": [
{
"ProductNo": "11111",
"Descr": "Myproduct-1",
"Price": "225.36"
},
{
"ProductNo": "11112",
"Descr": "Myproduct-2",
"Price": "235.46"
},
{
"ProductNo": "11113",
"Descr": "Myproduct-3",
"Price": "245.56"
},
{
"ProductNo": "11114",
"Descr": "Myproduct-4",
"Price": "255.56"
}
],
"DateUpdated" : "20091209",
"UpdatUser" : "Bob"
}
第一部分可以使用mysql_fetch_assoc和array_push从MySQL数据库生成:
while ($row = mysql_fetch_assoc($result))
{
array_push($returnArray, $row);
}
第二部分将附加在程序结束时。 我无法在PHP中操作数组来做我想做的事情......
答案 0 :(得分:8)
尝试:
$array = array (
'Products' => array (),
'DateUpdated' => '20091209',
'UpdateUser' => 'Bob',
);
while ($row = mysql_fetch_assoc($result))
$array['Products'][] = $row;
$json = json_encode($array);
答案 1 :(得分:1)
这应该可以解决问题
$productArray = array();
while ($row = mysql_fetch_assoc($result))
{
array_push($productArray, $row);
}
$returnArray['Products'] = $productArray;
$returnArray['DateUpdated'] = $dateUpdated; // 20091209 in your example
$returnArray['UpdatUser'] = $updatUser; // Bob in your example
$jsonEncoded = json_encode($returnArray);
的更多信息
答案 2 :(得分:0)
$returnArray['DateUpdated'] = '20091209';
$returnArray['UpdatUser'] = 'Bob';
然后json_encode返回数组,你应该设置。