我是AngularJs的新手。我试图根据搜索关键词从json获取值并显示相关数据。
以下是我的json格式
{"abc":[
{ "url":"abc.json"}
],
"bbc":[
{"url":"bbc.json"}
]
}
我正在将键与输入的搜索词进行比较。如果它匹配,那么我需要加载与找到的密钥相关的单独的json。我能够将搜索词与键进行比较,但是当我试图获得值得到的总价值如url = abc.json时,而不是我只能获得abc.json。我的控制器代码如下
function getDetailsController($scope,$http) {
$scope.search = function() {
$http.get("searchInfo.json").success(function(response) {
angular.forEach(response, function(value, key) {
if(angular.equals(key, $scope.searchText)){
$scope.url = value;
$http.get(url).success(function(response) {
$scope.details = response;
});
}
});
});
};
}
我尝试过不同的方式,但我无法获得价值。你能帮我解决这个问题。
答案 0 :(得分:2)
在你的JSON中,'“abc”':是一个键,它的对应值是
[{ "url":"abc.json"}]
这是一个包含单个对象的数组,该对象包含一个键:"url"
。
因此,要访问此网址,您只需要
value[0].url
这种结构虽然很奇怪。我真的不明白将对象包装在数组中的意义。