使用php打印JSON数据


Printing JSON data using php

我已经使用下面的代码从php代码返回JSON数组。

<?php
include("connect.php");
$query="select *from college_notice";
$run=mysql_query($query);
while($data=mysql_fetch_array($run))
{
$output[]=$data;
echo (json_encode($output));
}
mysql_close($con); 
?>

但是它显示的数组如下所示:

[{"0":"6","id":"6","1":"Bijay"、"注意":"Bijay","2":"2015-08-24 08:06:59","日期":"2015-08-24"08:06:59}][{"0":"6","id":"6","1":"Bijay"、"注意":"Bijay","2":"2015-08-24 08:06:59","日期":"2015-08-24 08:06:59"},{"0":"7"、"id":"7","1":"Subash"、"注意":"Subash","2":"2015-08-24 08:11:13","日期":"2015-08-24"08:11:13}]

我的输出是否正确??

您应该像这样将echo (json_encode($output));移出循环

<?php
   include("connect.php");
   $query="select *from college_notice";
   $run=mysql_query($query);
   while($data=mysql_fetch_array($run))
   {
      $output[]=$data;
   }
   echo json_encode($output);
   mysql_close($con); 
?>

你也不需要周围的()。不会导致它停止工作,但这是不必要的,看起来很奇怪。

您需要理解JSON和数组是两个不同的东西。您的输出看起来正确- 在json格式的情况下。

JSON is JavaScript Object Notation

JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。人类很容易读和写。它很容易被机器解析和生成。它是基于JavaScript编程语言的一个子集,标准ECMA-262第三版- 1999年12月。JSON是一种完全独立于语言的文本格式,但使用C系列语言程序员所熟悉的约定,包括C、c++、c#、Java、JavaScript、Perl、Python和许多其他语言。这些属性使JSON成为理想的数据交换语言。

:

  • http://json.org/
  • https://en.wikipedia.org/wiki/JSON

PHP中的数组实际上是一个有序映射。映射是一种类型将值关联到键。这种类型针对几种类型进行了优化不同的使用;它可以被视为数组,列表(向量),散列表(map的实现),字典,集合,堆栈,排队,可能还有更多。由于数组值可以是其他数组、树多维数组也是可能的。

:

  • http://php.net/manual/en/language.types.array.php