2
我有一個JSON如下
{"DataList":
{"Data":[
{"@attributes":{"description":"FGFGFGH","code":"FGFGFGH"}},
{"@attributes":{"description":"UIS default relying party","code":"UIS"}},
{"@attributes":{"description":"MDEx Healthcare Portal","code":"MDE"}},
{"@attributes":{"description":"VBK","code":"VBK"}},
{"@attributes":{"description":"Omnicare","code":"OC"}},
{"@attributes":{"description":"MDEX","code":"MDEX"}},
{"@attributes":{"description":"Bank of America","code":"BOA"}},
{"@attributes":{"description":"LDAP","code":"LDAP"}},
{"@attributes":{"description":"JetBlue","code":"JB"}},
{"@attributes":{"description":"Digital Signature Demo Application","code":"DEMODS"}}
]
}
}
,我下面的jQuery代碼來創建選擇框的選項
$.each(response, function(i, DataList) {
$.each(DataList,function(j,Data){
var finalObj = [email protected];
options += '<option value="' + finalObj.code + '">' + finalObj.description + '</option>';
});
$("#relyingpartyall").html(options);
});
上面的代碼工作正常在Firefox 3.6中,但在Firefox 10,11,鉻,Safari瀏覽器,即它不工作它給出以下錯誤。
Firefox 11 : can't convert AttributeName to string ,var finalObj = [email protected];
Chrome : Unexpected Identifier @ line "options += '<option value="' + finalObj.code + '">' + finalObj.description + '</option>';"
有人可以幫我解決這個問題嗎?
我越來越像下面 1型兩種不同的反應: '{ 「的DataList」 :{「Data」:{「@ attributes」:{「description」:「FGFGFGH」,「code」:「FGFGFGH」}}}}' Type 2: '{「DataList」:{「Data」 [「@attributes」:{「描述ption「:」FGFGFGH「,」code「:」FGFGFGH「}}, {」@attributes「:{」description「:」UIS default relying party「,」code「:」UIS「}}]}}' 對於第二種類型的代碼工作正常,但對於第一個響應它不會工作。 :( – 2012-03-26 11:47:45
@TechieSathish,是的,它不起作用,因爲在第一個例子中'Data'不是一個數組,這是一種使用屬性表示多個項目的糟糕方式,在這種情況下,你應該保留原始循環或者如果你有控制JSON的生成修復它,以便您始終將Data作爲數組。 – 2012-03-26 11:48:42
感謝您的快速回復。我使用json_encode php函數生成的響應。 – 2012-03-26 12:00:45