0

我从 php 中检索 JSON:

<?php
 require("includes/connection.php");

//$queryString = "home";
$returnArray = array(); 

if (!$server) 
{ 
    die('Connect Error (' . mysqli_connect_errno() . ')' . mysqli_connect_error() );  
} 


$query =    "SELECT * 
            FROM stuff
            WHERE name LIKE '%" . $queryString . "%' 
            ORDER BY name LIMIT 1";

if($result = $server->query($query))
{
    while ($row = $result->fetch_assoc())
    {
        array_push($returnArray, $row);

    }


}           

echo json_encode($returnArray);

?>

和 javascript:

var home = "home";
  $.getJSON("db/getJSON.php", {queryString: ""+home+""},

function(data){

    jsn = JSON.stringify(data);
    $("#outputtester").html(jsn);
        consoleOut("JSON: "+jsn);

   });

它输出了一个相当不错的字符串:

[{"UID":"1","IDS":"1,2,3","name":"home","type":"thing","cat_id":"home"}]

但我认为这两个[]不应该在那里,因为它不是数组数组?

我试着放回声“东西:”。在 json_encode 之前,所以我可以识别数组的数组。但它不会工作

我试图在不进行字符串化的情况下访问“数据”,作为一个对象,它应该与以下内容一起使用:

data.UID

或者

data.name

但是我每次都会得到一个对象对象输出,当我对它们进行字符串化时也是如此。

知道我做错了什么吗?

找不到一大堆关于使用 JSON 数组的信息,我找到的所有东西都是在 javascript 代码中手动生成 JSON 的。

4

1 回答 1

1

改变 :

echo json_encode($returnArray);

至:

if($returnArray) {
    echo json_encode($returnArray[0]);
} else{
    // here echo whatever you want to signify there were no results.
}
于 2012-02-22T17:42:17.937 回答