heksen
@heksen

Как распарсить json?

Привет! Делаю свой проект. Возвращаю json массив из php. Массив приходит.
Теперь как извлечь конкретное значение из массива json в jquery? Пробую json.parse, пишет undefined, хотя весь массив возвращается.
ajax
$.ajax
({
 url:  "db.php",
 data: { func: "GetFullInfo", id: CurId },	     	   
 success: function( data )		
 {
     var obj = JSON.parse( data );
     alert(obj.id); // id - undefined хотя возвращается в массиве
  }
});


PHP

// --------------------------
// 
// --------------------------
if ( $_GET["func"] == "GetFullInfo" )
{
 ConnectDB(); 
 $query = mysql_query( "SELECT * FROM adverts WHERE id = ".$_GET["id"] ); 
 if (!$query)
  error();
 else
 {
  while( $row = mysql_fetch_array( $query, MYSQL_ASSOC ) )
  {
   $row_set[]   = $row;
  }
  echo json_encode($row_set);
 }
}
  • Вопрос задан
  • 994 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега PHP
Вы возвращаете массив ассоциативных массивов, которые в js превращаются в массив объектов. И у этого массива нет, разумеется, свойства id. Попробуйте вывести в консоль obj после парсинга и сами убедитесь.

Ну и ваш запрос можно заменить на
$.getJSON(
    "db.php",
    { func: "GetFullInfo", id: CurId },	     	   
    success: function( data )		
    {
        // здесь data уже распарсенный json
    }
);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы