尝试从文字数组中提取数据,但我做错了,因为它不起作用。
$http.get('/api/user/' + $routeParams.id)
.then(function (res) {
var user = res.data.message;
console.log(user)
}, function (err) {
console.log(err);
})
上面的代码给出了如下数组:
[{"id": "1", "name": "user1"}]
我试图获取如下数据,但它不起作用
vm.user = user.id;
//or
vm.user = user[0].id;
当我做的时候
console.log(user[0]);
我得到“[”作为输出
我做错了什么?我需要使用循环吗?答案 0 :(得分:1)
如果[{"id": "1", "name": "user1"}]
(来自您的代码)的控制台输出为您提供了" [",那么您没有数组...您有一个字符串。字符串可以通过索引访问,所以:
"TEST"[0] == "T", "TEST"[1] == "E"
- 等等
如果是这种情况,那么你需要将你的字符串解析成一个json对象数组 - 你可以使用JSON.parse ala:
var userArray = JSON.parse(user);
可能是您的API返回的是字符串而不是JSON' ified对象,但根据您发布的详细信息很难知道。
答案 1 :(得分:0)
变化 var user = res.data.message;
到
var user = res.data;
然后 的console.log(用户[0]);
打印出来。
另请注意,vm.user和user是两个不同的变量,请确保您打印的是将数据绑定到的变量。