我有一个像这样的Json模式:
{"THEMES":{
"CATEGORY":
["TEST1","TEST2","TEST3","DFSDFSDF"],
"OVER AGAIN":
["YOUNG","OLD","GRANPA"],
"AND AGAIN":
["AND","ANOTHER","WORD"],
"NEW CATEGORY":
["AGAIN","OOPS","CAN","REDBULL"]
}}
好吧,我需要在AngularJs Controller内检索键值,而我的检索代码如下:
$http.get('json/word_bank.json')
.success(function (result) {
$scope.themes = Object.keys(result.TEMAS);
console.log($scope.themes);
然后进入控制台:
[“类别”,“超过”,“又”,“新类别”]
到目前为止一切顺利,但是我需要访问TEST1,TEST2等键值。
为此,我尝试了例如:
console.log($ scope.themes [0] [0]);
然后控制台返回字母“ C”或“ CATEGORY”字符串的第一个字母。剩下的所有事情都在发生,所以我想代码会将我的初始数组转换为字符串元素。我已经在数组上尝试了很多循环或迭代,但是没有用。我想念什么吗?
最佳答案
$scope.themes
引用result.THEMES
对象中的对象键数组。调用$scope.themes[0][0]
时,将获得键数组“ CATEGORY”的第一项,然后是该字符串“ C”的第一个字符。
您将需要对实际主题对象的引用,然后传递主题名称以获取其值。themesObject[$scope.themes[0]] -> ["TEST1","TEST2","TEST3","DFSDFSDF"]
使用您的代码:
$http.get('json/word_bank.json')
.success(function(result) {
$scope.themes = Object.keys(result.THEMES);
console.log(result.THEMES[$scope.themes[0]]);
});