我从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
但是我每次都得到一个对象Object输出,当我对它们进行字符串化时也是如此..
知道我做错了吗?
无法找到有关使用JSON数组的大量信息,我发现手动在javascript代码中生成JSON的所有内容......
答案 0 :(得分:1)
更改:
echo json_encode($returnArray);
要:
if($returnArray) {
echo json_encode($returnArray[0]);
} else{
// here echo whatever you want to signify there were no results.
}