Проход по списку JSON Как и что является проблемой со сценарием? - PullRequest
0 голосов
/ 07 октября 2010

Ниже приводится сценарий, над которым я работаю, который будет указывать на Обнаружение функций для Firefox. Я создал список Json, каждый из которых я хочу вызвать, чтобы проверить в скрипте, чтобы увидеть, является ли он неопределенным или нет, но он не работает.слишком много истощено .... !!

<html>
<head>
<script type="text/javascript">

var JsonList = 
{
    "CheckSet": [
        {
            "property": "azimuth",
            "result": 0 
        },
        {
            "property": "cue",
            "result": 0 
        } 
    ] 
};


function Check()
{
    //alert('working');
    var looptrav;
    var looplist = JsonList;
    var indicator = 0;

    for(looptrav = 0; looptrav < looplist.CheckSet.length; looptrav++)
    {
        if(typeof(looplist.CheckSet[looptrav].property) != "undefined") 
        {
            looplist.CheckSet[looptrav].result = 1;
            indicator = 1;
            document.write ("Result: "+looplist.CheckSet[looptrav].result);
        }
}

Check();
</script>
</head>
</html>

1 Ответ

0 голосов
/ 07 октября 2010

JsonList (или looplist) является Object, а не Array, поэтому у него нет свойства length. Однако у него есть свойство CheckSet, к которому вы в дальнейшем будете обращаться правильно (за одним исключением) и которое является Array.

Так что вам нужно изменить

for(looptrav = 0; looptrav < looplist.length; looptrav++)

до

for(looptrav = 0; looptrav < looplist.CheckSet.length; looptrav++)

и изменить

looplist[looptrav].result = 1;

до

looplist.CheckSet[looptrav].result = 1;

РЕДАКТИРОВАТЬ: Вы пропускаете закрывающий } и, вероятно, не очень хорошая идея document.write внутри <head>.

Рабочий пример: http://jsfiddle.net/qjuVk/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...