[英]Why I am getting $parse error when use it on object with array?
我有兩個json文件。 我正在這樣得到他們:
var fr, en;
$.getJSON('fr.json', function(data) {
fr = data;
}).complete(function() {
...
});
$.getJSON('en.json', function(data) {
en = data;
}).complete(function() {
...
});
該文件是語言環境文件。 我想測試一下。 我想通過屬性名稱比較對象fr和en,以便在語言環境文件中缺少某些內容時顯示單元測試。
為了獲得EN語言環境中缺少的屬性,我正在使用以下算法:
$parse(*path*)(fr);
並返回-> EN語言環境與FR語言環境相同的屬性。 所以我的問題。 我在文件fr中有這樣的字符串。 “ some”:{“數字”:[“一個”,“兩個”,“三個”] ...}在第一步中,我得到了這樣的屬性路徑:
some.numbers.0
some.numbers.1
some.numbers.2
當我嘗試在EN語言環境中解析此路徑時,出現此錯誤:
Error: [$parse:syntax] Syntax Error: Token '.0' is an unexpected token at column 15 of the expression [addForm.messages.numbers.0] starting at [.0].
http://errors.angularjs.org/1.4.3/$parse/syntax?p0=.0&p1=is%20an%20unexpected%20token&p2=25&p3=some.numbers.0&p4=.0
如何在包含數組的對象上使用$ parse? 還是有其他方法可以滿足我的需求?
正如@charlietfl在對問題的評論中提到的那樣:
對象沒有那些屬性,數字是一個數組。 需要使用正確的javascript對象/數組表示法
所以,我需要使用
some.numbers[0]
some.numbers[1]
etc
代替
some.numbers.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.