发出在javascript中检索JSON数据的问题

时间:2015-08-20 15:09:53

标签: javascript json angularjs

我有一个像这样的Json架构:

{"THEMES":{
"CATEGORY":
        ["TEST1","TEST2","TEST3","DFSDFSDF"],
"OVER AGAIN":
        ["YOUNG","OLD","GRANPA"],
"AND AGAIN":
        ["AND","ANOTHER","WORD"],
"NEW CATEGORY":
        ["AGAIN","OOPS","CAN","REDBULL"]
}}

好吧,我需要在AngularJs控制器中检索键值,我的代码检索它就像:

$http.get('json/word_bank.json')
        .success(function (result) {
          $scope.themes = Object.keys(result.TEMAS);
          console.log($scope.themes);

我进入我的控制台: [" CATEGORY","重拍","再次","新类别"]

到目前为止一切顺利,但我需要访问TEST1,TEST2等键值。 为此,我试过,例如: 的console.log($ scope.themes [0] [0]);

并且控制台返回字母" C"或者" CATEGORY"的第一个字母;串。所有其余部分都会发生这种情况,因此代码正在将我的初始数组转换为字符串元素。我已经在数组上尝试了很多循环或迭代,但我没有工作。我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

$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]]);
  });