Неправильный вывод объекта JSON - PullRequest
0 голосов
/ 22 февраля 2012

Я получаю JSON из php:

<?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"}]

Но я думаю, чтодва [] не должны быть там, потому что это не массив массивов?

Я попытался добавить echo "Things:".до json_encode, чтобы я мог идентифицировать массив массивов.Но это не сработает

Я пытался получить доступ к «данным» без строкового преобразования, поскольку объект должен работать с чем-то вроде:

data.UID

или

data.name

но я получаю вывод объекта каждый раз, даже когда я их преобразую в строку ..

Есть идеи, что я делаю неправильно?

Не могу найти всю информацию о работе сJSON-массивы, все вещи, которые я нахожу вручную, делают JSON в коде JavaScript ..

1 Ответ

1 голос
/ 22 февраля 2012

Изменение:

echo json_encode($returnArray);

К:

if($returnArray) {
    echo json_encode($returnArray[0]);
} else{
    // here echo whatever you want to signify there were no results.
}
...