我在解析JSON对象时遇到了麻烦,不确定我错在哪里?
这是HTML:
<div ng-controller="MyCtrl">
<div ng-repeat="user in _users" ng-init="myInfo=parJson(user.response)">{{myInfo.docs[0].FIRST_NAME}}</div>
</div>
这是Angular:
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.getName = function(user) {
return "Names";
};
$scope._users = [{
"responseHeader": {
"status":0,
"QTime":1,
},"response":{
"docs":[{
"FIRST_NAME":"John",
"LAST_NAME" : "Smith"}]
}
}];
$scope.parJson = function(json) {
return JSON.parse(json);
}
}
myApp.controller("MyCtrl",MyCtrl);
答案 0 :(得分:0)
从代码我可以看到“user.response”已经是一个JSON对象,你不需要再次解析它。如果你不确定你的响应是JSON对象还是JSON字符串,你可以做一件事你可以在你的“parJson”函数中添加一个检查
$scope.parJson = function(json) {
if(typeof json != "object")
return JSON.parse(json);
else
return json;
}
答案 1 :(得分:0)
QTime属性后有额外的逗号。删除它,然后再试一次。使用JSON Lint验证您的json。