我正在努力从mysqli结果集中获得正确的JSON数组格式。我搜索了很多次,尝试了不同的方法。
我是SQL,正在查询电子商务订单,并尝试以JSON格式输出它们,以便以应用程序开发人员指定的JSON格式发布到应用程序。
首先尝试这样做,分别输出每一行,而不是我想要的:
while ( $row = $result->fetch_assoc()) {
$orders[]=$row;
}
echo json_encode($orders, JSON_PRETTY_PRINT);
结果是
[
{
"WebOrderNumber_C": "938276",
"itemName": "B3440S"
},
{
"WebOrderNumber_C": "938276",
"itemName": "D5035G"
},
{
"WebOrderNumber_C": "938276",
"itemName": "D6015"
}
]
第二次,我又在谷歌上搜索并阅读了其他问题,我试过这个。
while ( $row = $result->fetch_assoc()) {
$orders[$row['WebOrderNumber_C']][] = $row['itemName'];
}
echo json_encode($orders, JSON_PRETTY_PRINT);
结果是
{
"938276": [
"B3440S",
"D5035G",
"D6015"
]
}
我试图实现的格式是这样的。请帮助
{
"WebOrderNumber_C": "938276",
"shipAddress": {
"add1": "LONDON"
},
"items": [{
"itemName": "B3440S"
},
{
"itemName": "B3440S"
},
{
"itemName": "B3440S"
}
]
}
ps如果相关的话,我使用的是php 5.6.30。