我有一个像这样的 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]]);
});
关于javascript - 在 javascript 中检索 JSON 数据时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32121960/