我正在處理的項目需要很多有關複雜XML文件的工作,因此我將它們轉換爲SimpleXML數組,JSON將其編碼並通過Ajax將其傳遞給Knockout。KnockoutJS:綁定到具有非法名稱的對象
問題是,幾乎每個屬性都有屬性,SimpleXML插入一個名爲@attributes
的對象中。當我嘗試綁定到它像myObject()[email protected]
,我得到一個錯誤
Message: SyntaxError: Unexpected token ILLEGAL;
Bindings value: text: alertObj()[email protected]
我已經試過'@attributes', ['@attributes'], [@attributes]
但沒有什麼工作。我也嘗試過各種轉義字符和unicode轉義。
這是JSON的樣子:
var alertObject =
{
"@attributes":
{
"DescriptionContentType":"text\/plain",
"Description":"",
"IsActive":"true",
"Name":"Apache Requests Per Interval"
},
"Frequency":
{
"PeriodInSeconds":"60"
},
"MetricLevelNotification":"false",
"AlertTriggerMode":"2",
"CautionActionDelay":"0",
"DangerActionDelay":"0",
"CautionActionList":
{
"ActionID":
{
"ManagementModuleName":"Base Module",
"ConstructName":"Base SMTP Mail Action"
}
},
"DangerActionList":
{
"ActionID":
{
"ManagementModuleName":"Base Module",
"ConstructName":"Base SMTP Mail Action"
}
},
"MetricGroupingID":
{
"ManagementModuleName":"Base Module",
"ConstructName":"Apache Requests Per Interval"
},
"AlertCombineOperator":"1",
"AlertCompareOperator":"2",
"CautionTargetValue":"2000",
"DangerTargetValue":"15000",
"CautionMinNumPerPeriod":"3",
"CautionAlertPeriod":"6",
"DangerMinNumPerPeriod":"1",
"DangerAlertPeriod":"1"
};
我想避免改變任何結構和名稱。
我怎樣才能得到這個工作?
這很有道理。在json編寫它之前,我將在服務器端修改數組。謝謝。 – solefald