我找不到这样的东西,但是,我从未见过json以这种方式构建,所以我不知道背后的目的。我也没有办法修改端点。 (可能的原因:java中一些错误地逃避错误的错误。)
这里的json基本上是这样的:
{ "thingName" : { "$" : "name-of-thing" } }
当我看到实际的反应时,那里的名字就在那里。当我通过$ http将它带入并将其添加到范围时,我得到一个空集。这是js:
$scope.getName = function(val) {
$http.get('http://something/something/names?KeywordText=' + val)
.success(function(res) {
$scope.results = res;
});
};
但是如果我对results.thingName进行ng-repeat,我只会得到一个空的{},对于返回的每个名称都会重复。如何获取内容(物品名称)并绕过返回的单个$?
很多人都提前感谢。答案 0 :(得分:1)
Angular忽略以美元符号为前缀的变量。一种可能的解决方案是在将其添加到范围之前重写您的响应(用其他东西替换美元符号)。
更新:尝试以下方式:
var dollarRename = 'dlr';
function renameDollar(obj) {
for (var k in obj) {
if (k === '$') {
obj[dollarRename] = obj.$;
delete obj.$;
k = dollarRename;
}
if (typeof obj[k] === "object" && obj[k] !== null) {
renameDollar(obj[k]);
}
}
}
.success(function (res) {
renameDollar(res);
$scope.results = res;
});