在这项服务中,我得到了输出,但我想要不同的输出。 让我解释一下:
$customer_id = $_POST['customer_id'];
$response = array();
$qry="SELECT category FROM nesbaty_customer where c_id='".$customer_id."' ";
$qry_res=mysqli_query($con,$qry);
$jsonData = array();
while ($array = mysqli_fetch_assoc($qry_res))
{
$r= $array['category'];
$jsonData[]=explode(",",$r);
}
echo json_encode(array('data' =>$jsonData));
mysqli_close($con);
我得到这样的输出:
{
"data": {
"category": [
"Hotel",
"Saloon"
]
}
}
但我想要这样的输出!
{"data":[{"category":"Hotel"},{"category":"Saloon"}]}
最佳答案
你无法得到你想要的,因为你将有一个包含两个相同键的数组。您可以通过更改获得类似的内容:
$r= $array['category'];
$jsonData[]=explode(",",$r);
至
foreach (explode(',', $array['category']) as $cat) {
$jsonData[]=array('category' => $cat);
}
$jsonData
将如下所示:
Array
(
[data] => Array
(
[0] => Array
(
[category] => Hotel
)
[1] => Array
(
[category] => Saloon
)
)
)
并且 json_encode
的输出将是:
{"data":[{"category":"Hotel"},{"category":"Saloon"}]}
关于php - PHP Web 服务的 json 数组响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50267932/