我有一个像这样的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]]);
  });

07-24 09:17