循环通过JSON列表如何以及脚本有什么问题?

时间:2010-10-07 10:19:40

标签: json

以下是我正在工作的脚本,它将指示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 :(得分:0)

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/