【问题标题】:Issue on Parsing JSON from MySQL Database从 MySQL 数据库解析 JSON 的问题
【发布时间】:2014-06-09 08:24:27
【问题描述】:

PHP json_encode() 在以下代码:

$con = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME);
$query = "SELECT * FROM data limit 1" ;
$results = $con->query($query);
$return = array();
if($results) {
  while($row = $results->fetch_assoc()) {
     $return[] = $row;
  }
}
echo json_encode($return);
$con->close();

像这样创建一个 JSON 对象:

[{"id":"1","name":"tabo","age":"26","phone":"44444422","comments":""}]

你能告诉我如何在 JSON 的开头和结尾摆脱 [] 并且只有

{"id":"1","name":"tabo","age":"26","phone":"44444422","comments":""}

在输出?我需要这样做的原因是使用 jQuery.parseJSON() 访问 JSON 对象,这些 [] 使属性未定义!

谢谢

【问题讨论】:

  • 因为你只选择了一行,所以不要在数组中分配它。

标签: php jquery mysql json


【解决方案1】:

您将一个数组放入一个变量并将其转换为一个数组。 JSON 编码表示该对象是一个带有[] 的数组。

您可以通过在现场进行编码来解决这个问题:

if($results) {
  while($row = $results->fetch_assoc()) {
     $json=json_encode($row);
  }
}
$con->close();

echo $json;

您回显的编码 JSON 基本上告诉您,您编码的对象是一个数组,其中包含所有位。您要做的是将 $row 显示为 JSON,而不是数组中的行。

【讨论】:

  • 感谢 Fluffeh,老实说,我仍然对 json 对象和数组感到困惑!其中一些以 [] 开始和结束,而一些只是以 {}!无论如何感谢您的大力帮助
  • 顺便说一句,我还需要 6 分钟来接受答案!
猜你喜欢
  • 2020-12-24
  • 1970-01-01
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多