Мой API возвращает следующий JSON ответ:Extract ответ JSON с REST API
[{"result":{"status":1,"message":"Token generated successfully","stoken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IjVmMXoyaTNhbDJ4eCJ9.eyJpc3MiOiJodHRwOlwvXC9lc2FsZXMuY29tIiwiYXVkIjoiZVNhbGVzIiwianRpIjoiNWYxejJpM2FsMnh4IiwiaWF0IjoxNDczODMwNDExLCJuYmYiOjE0NzM4MzA0NzEsImV4cCI6MTQ3MzgzNDAxMSwidWlkIjoiYWRtaW4iLCJ1Z3JwIjoic2FsZXMifQ.eeFU68UdAIkZuWtSK8H0mfJRsGM0aaCdZ2MJX4ZQUF0"}}]
Мой код в ионическом:
.controller('loginCtrl', ['$scope', '$http', function ($scope, $http) {
$scope.data = {};
$scope.submit = function(){
var link = 'http://myapi.com/jwt/auth/';
$http.post(link, {username : $scope.data.username, password : $scope.data.password})
.success(function(data, status, headers,config){
$scope.response = data; // for UI
var jsParse = JSON.parse(data)
//how to retrieve the 'stoken' value from the JSON ?
})
.error(function(data, status, headers,config){
console.log('data error');
})
.then(function (res){
$scope.response = res.data;
});
};
}])
PHP код, который генерировать JSON:
$responses[] = array('result'=>
array('status' => 1,
'message' => 'Token generated successfully',
'stoken' => ''.$token,
)
);
//return json_encode(['result' => 1, 'message' => 'Token generated successfully', 'token' => '' . $token,]);
return json_encode($responses);
Как я могу получить «украденное» значение из JSON?
Как я могу пройти через JSON, если он имеет несколько записей «результата»? не
в JS вы можете получить доступ через Индекс: 'jsParse ['stoken']' – Radinator
json return in >> [{\ "result \": {\ "status \": 1, \ "message \": \ "Маркер успешно создан \", \ "stoken \": \ "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImp0aSI6IjVmMXoyaTNhbDJ4eCJ9.eyJpc3MiOiJodHRwOlwvXC9lc2FsZXMuY29tIiwiYXVkIjoiZVNhbGVzIiwianRpIjoiNWYxejJpM2FsMnh4IiwiaWF0IjoxNDczODQ4OTk1LCJuYmYiOjE0NzM4NDkwNTUsImV4cCI6MTQ3Mzg1MjU5NSwidWlkIjoiYWRtaW4iLCJ1Z3JwIjoic2FsZXMifQ.MJLIYAslvJp_rSmPUEnFK7ZjYLx2tv8ydhTY3nYtbRA \"}}] << там слэш добавляется к каждой цитате, будет вызывать недопустимое JSON? –
** данные ** вы пытаетесь выполнить синтаксический анализ ('var jsParse = JSON.Parse (data);' уже JSON. Поэтому вам нужно всего лишь выполнить var var token = data ['stoken]; '. вы. – Radinator