Цикл по допустимому JSON и сохранение каждого значения в переменной - PullRequest
0 голосов
/ 25 июня 2010

Я использую jQuery.

Это мой второй пост, чтобы прояснить мой старый вопрос.Я сделал Ajax-запрос, используя jQuery $.ajax function к PHP-сценарию, и этот PHP-скрипт возвратил этот объект JSON, и когда я тестировал текст ссылки, он говорит, что он действителен.и я обрабатываю этот ответ JSON с помощью success fonction

Сценарий php:

$requete = mysql_query("SELECT * FROM annotations WHERE annot_doc_id = '$cours_selected' and annot_id_auteur  = '$annot_id_auteur'");
while($obj = mysql_fetch_object($requete)) {
    $arr[] = $obj;
}
// echo '{"exemple":'.json_encode($arr).'}';
echo json_encode($arr); 

PHP работает очень хорошо и динамически изменяет ответ в соответствии с моими потребностями.Для определенных параметров я получил этот ответ JSON

[
{
    "id_annotation": "1",
    "annot_doc_id": "page_de_test.html",
    "annot_id_auteur": "2",
    "anno_startOffset": "47",
    "annot_startContainer": "id-aaa",
    "annot_endOffset": "88",
    "annot_forme": "1",
    "annot_value": "dispositif physique fait pour \n  stocker ",
    "annot_obj": "1",
    "annot_area": "",
    "annot_date": "vendredi 25 juin 2010 10:38:07" 
},
{
    "id_annotation": "4",
    "annot_doc_id": "page_de_test.html",
    "annot_id_auteur": "2",
    "anno_startOffset": "107",
    "annot_startContainer": "ident-77",
    "annot_endOffset": "194",
    "annot_forme": "1",
    "annot_value": "crobaties avec ses doigts, mais \u00e9cartons ce cas). Avec un \n  emplacement d\u2019information ",
    "annot_obj": "1",
    "annot_area": "",
    "annot_date": "vendredi 25 juin 2010 10:38:33" 
}
]

Я хочу сделать цикл и сохранять каждый раз в переменных "id_annotation", "annot_doc_id", "annot_id_auteur", "anno_startOffset" .... и т. Д.сделать что-то с этими переменными.Как я могу это сделать?

PS: некоторые из вас поддержали $.each function.

1 Ответ

1 голос
/ 25 июня 2010

Простой цикл for:

var objects = $.parseJSON(input);
for (var i = 0; i < objects.length; i++) { 
    alert(objects[i].id_annotation);
}

Или, если вы хотите использовать функцию .each() jQuery:

var objects = $.parseJSON(input);
jQuery.each(objects, function() {
    alert(this.id_annotation);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...