【发布时间】:2015-07-09 22:54:32
【问题描述】:
我有一个带有 PHP 的 JSON 文件,我想删除最后一个逗号,因为它会导致错误。代码如下:
{
"data": [
<?php
require_once("../../config.php");
$qtodos = $mysqli->query("SELECT * FROM negocios");
while($todos = $qtodos -> fetch_assoc()) {
?>
{
"id": <?php echo $todos['idnegocios']; ?>,
"category": "real_estate",
"title": "<?php echo $todos['nombre']; ?>",
"location": "<?php echo $todos['direccion']; ?>",
"latitude": 51.541599,
"longitude": -0.112588,
"url": "item-detail.html",
"type": "Apartment",
"type_icon": "assets/icons/store/apparel/umbrella-2.png",
"rating": 4,
"gallery":
[
"assets/img/items/1.jpg",
"assets/img/items/5.jpg",
"assets/img/items/4.jpg"
],
"features":
[
"Free Parking",
"Cards Accepted",
"Wi-Fi",
"Air Condition",
"Reservations",
"Teambuildings",
"Places to seat"
],
"date_created": "2014-11-03",
"price": "$2500",
"featured": 0,
"color": "",
"person_id": 1,
"year": 1980,
"special_offer": 0,
"item_specific":
{
"bedrooms": 4,
"bathrooms": 2,
"rooms": 4,
"garages": 1,
"area": 240
},
"description": "asasasas odio nibh, luctus non pulvinar a, ultricies ac diam. Donec neque massa, viverra interdum eros ut, imperdiet pellentesque mauris. Proin sit amet scelerisque risus. Donec semper semper erat ut mollis. Curabitur suscipit, justo eu dignissim lacinia, ante sapien pharetra duin consectetur eros augue sed ex. Donec a odio rutrum, hendrerit sapien vitae, euismod arcu.",
"last_review": "Curabitur odio nibh, luctus non pulvinar a, ultricies ac diam. Donec neque massa, viverra interdum eros ut, imperdiet",
"last_review_rating": 5
},
<?php
}
?>
]
}
我尝试了很多解决方案,但从未在此代码中工作。不知道是什么时候循环的最后一次迭代,不能去掉。
【问题讨论】:
-
@Sergio 为什么不先简单地在循环中填充 php-array,然后使用 json_encode 输出呢?这在意识形态上会更正确。
-
@stdob 的回答是这里唯一明智的回答
-
@Sergio 实际上,您的目标不是删除逗号。你的目标是正确地表述问题,这将避免不必要的和错误的行动。最后学习如何开发软件。扪心自问——我真的需要删掉一个逗号,还是需要在循环中获取数据,填充数据的结构并转换成另一种格式?