在for循环控制(JSON)之后的SyntaxError:missing)

时间:2013-01-30 20:21:55

标签: javascript json

下面是JSON,我尝试从1到4遍历数组,并且firebug返回错误

SyntaxError: missing ) after for-loop control
[Break On This Error]   

for( x in LGIntake.corpCodeOptions.marketSegment.1){

StartI...aseId=0 (line 675, col 50)

LGIntake = {};
LGIntake.corpCodeOptions = {};
LGIntake.corpCodeOptions.marketSegment = {
"1":[["FEP","FEP"],["HA","HA"],["HWB","HWB"],["JG","JG"],["LG","LG"],
     ["MAC","MAC"],["NAC","NAC"],["NAL","NAL"],["NAP","NAP"],["NAU","NAU"]],
"2":[["ERS","ERS"],["FEP","FEP"],["HRP","HRP"],["LGC","LGC"],["LGL","LGL"],
     ["MGC","MGC"],["MGL","MGL"],["NAC","NAC"],["NAP","NAP"],["NPB","NPB"],
     ["NPH","NPH"],["NPI","NPI"],["NPP","NPP"],["NPR","NPR"],["NPS","NPS"],
     ["NRSG","NRSG"],["SRK","SRK"],["TAC","TAC"],["TCF","TCF"],["TCI","TCI"],
     ["THE","THE"],["TRS","TRS"]],
"3":[["AFG","AFG"],["ALI","ALI"],["APS","APS"],["FEP","FEP"],["HSC1","HSC1"],
     ["HSC2","HSC2"],["LAN","LAN"],["LGN","LGN"],["NAP","NAP"],["PAK","PAK"],
     ["PSA","PSA"],["RA","RA"],["RC","RC"]],
"4":[["COMA","COMA"],["FEP","FEP"],["LG","LG"],["NAC","NAC"],["NAP","NAP"],
     ["NRMM","NRMM"],["NRSG","NRSG"],["ORAA","ORAA"]]
}; 

和我的javascript代码

function initMarketSegment(corpCode){
    var corpCodeList = new Array();
    if(corpCode == "1"){
        for( x in LGIntake.corpCodeOptions.marketSegment.1){
            marketSegment.option[marketSegment.option.length] = new Option('LGIntake.corpCodeOptions.marketSegment.1[x]','LGIntake.corpCodeOptions.marketSegment.1[x]');
        }
    }
    else if(corpCode == "2"){
        for( x in LGIntake.corpCodeOptions.marketSegment.2){
            marketSegment.option[marketSegment.option.length] = new Option('LGIntake.corpCodeOptions.marketSegment.2[x]','LGIntake.corpCodeOptions.marketSegment.2[x]');
        }
    }
    else if(corpCode == "3"){
        for( x in LGIntake.corpCodeOptions.marketSegment.3){
            marketSegment.option[marketSegment.option.length] = new Option('LGIntake.corpCodeOptions.marketSegment.3[x]','LGIntake.corpCodeOptions.marketSegment.3[x]');
        }
    }
    else if(corpCode == "4"){
        for( x in LGIntake.corpCodeOptions.marketSegment.4){
            marketSegment.option[marketSegment.option.length] = new Option('LGIntake.corpCodeOptions.marketSegment.4[x]','LGIntake.corpCodeOptions.marketSegment.4[x]');
        }   
    }
}

1 个答案:

答案 0 :(得分:2)

根据EMCAScript 5.1规范,javascript标识符不能以数字开头。因此“1”属性不是JSON中的有效标识符。但是,您可以将其引用为LGIntake.corpCodeOptions.marketSegment[1]

有关详细信息,请参阅http://mathiasbynens.be/notes/javascript-identifiers#valid-identifier-names