Количество json объектов

Dj_StelS

Гуру форума
Регистрация
9 Янв 2009
Сообщения
349
Реакции
80
Помогите, никак не могу найти, как подсчитать сколько объектов вернул php скрипт?
length считает только сколько символов в строке...
помогите пожалуйста, нужно подсчитать для цикла
данные json получаю с помощью jquery getJSON
 
на php функция count(); Как вариант считать с помощью php и отдавать в одной из переменных json массива.
Вот аналог функции count на ява скрипт Для просмотра ссылки Войди или Зарегистрируйся
 
length для массивов:
Код:
var arr = [1, 2];
alert(arr.length);
для объектов например цикл пройти и подсчитать:
Код:
var obj = {"test1": 1, "test2":2};
var count = 0;
for (o in obj) {
    count++;
}
alert(count);
 
length для массивов:
Код:
var arr = [1, 2];
alert(arr.length);
для объектов например цикл пройти и подсчитать:
Код:
var obj = {"test1": 1, "test2":2};
var count = 0;
for (o in obj) {
    count++;
}
alert(count);
не подходит, т.к. у меня
var obj = {"test1": 1, "test2":2}{"test1": 1, "test2":2}{"test1": 1, "test2":2}{"test1": 1, "test2":2};
и это количество obj не постоянно, оно динамическое
 
ну если на php можно еще такой костыль :)
$array = explode('}{',$json);
$num_obj = count($array);
 
никто похоже не понял, что я хочу)))) хорошо, объясняю подробней:
test.php
PHP:
$a = mysql_query("SELECT * FROM `table`");
$b = mysql_fetch_assoc($a);
while($b = mysql_fetch_assoc($a)){
echo json_encode($b);
}
отдает вид {"test1": 1, "test2":2}{"test1": 1, "test2":2}{"test1": 1, "test2":2}{"test1": 1, "test2":2}
test2.js
HTML:
var get = function(){
       $.getJSON('test.php',{},parse);
        }
var  parse = function(data){
        //вот тут мне нужен цикл, что бы выводить, если js получил более одного {данные}
//COUNT = вот эту переменную мне надо найти
//for(var i=0; i<COUNT; i++){
           $("#content").append(data.id+"|"+data.test);
//}
        }
 
решил проблему
может кому пригодится

PHP:
$a = mysql_query("SELECT * FROM `table`");
$b = mysql_fetch_assoc($a);
$array = array();
while($b = mysql_fetch_assoc($a)){
$array[] = $b;
}
echo json_encode($array);

в js количество считаем таким образом:
var count = 0;
for (o in obj) {
count++;
}
 
Назад
Сверху