Привет, вот мой ответ json от ajax call:
[{"id":null,"period":null,"until":null,"agent_id":"15","agent_zlecajacy_id":"15","offer_id":null,"status":"1","tytul":"Pobranie ksi\u0105g","tresc":"Pobranie ksi\u0105g","data_aktualizacji":"2013-10-21","data_kontaktu":"2013-10-08 22:00:00","data_kontaktu_end":"0000-00-00 00:00:00","czas_minuty":"30","created":"2013-10-21","type":"todo","series":null,"offers":"","details":"","parent_id":"0","assignment":null,"color":null,"asigned_users":null,"e_type":null,"show":null}]
Как получить, например, статус "1", я попробовал $.parseJSON (результат), но
SyntaxError: JSON.parse: unexpected character
может быть, потому что есть нуль?
здесь больше кода
url: "/schedule/getDetails/?id="+event_id,
dataType: 'json',
async: false,
success : function(json) {
result = json.result;
console.log($.parseJSON(result));
и php (zend)
$result = $model->getDetails($id);
$this->sendJSON($result);
Ваш ответ json - это не что иное, как объект внутри массива с одним элементом. Таким образом, вы можете получить доступ к атрибуту, который вы хотите:
your_response[0].attribute_name
Например, следующий код будет извлекать ваш agent_id:
myVar= [{"id":null,"period":null,"until":null,"agent_id":"15","agent_zlecajacy_id":"15","offer_id":null,"status":"1","tytul":"Pobranie ksi\u0105g","tresc":"Pobranie ksi\u0105g","data_aktualizacji":"2013-10-21","data_kontaktu":"2013-10-08 22:00:00","data_kontaktu_end":"0000-00-00 00:00:00","czas_minuty":"30","created":"2013-10-21","type":"todo","series":null,"offers":"","details":"","parent_id":"0","assignment":null,"color":null,"asigned_users":null,"e_type":null,"show":null}]
alert(myVar[0].agent_id])
Вам следует
var a = [{"id":null,"period":null,"until":null,"agent_id":"15","agent_zlecajacy_id":"15","offer_id":null,"status":"1","tytul":"Pobranie ksi\u0105g","tresc":"Pobranie ksi\u0105g","data_aktualizacji":"2013-10-21","data_kontaktu":"2013-10-08 22:00:00","data_kontaktu_end":"0000-00-00 00:00:00","czas_minuty":"30","created":"2013-10-21","type":"todo","series":null,"offers":"","details":"","parent_id":"0","assignment":null,"color":null,"asigned_users":null,"e_type":null,"show":null}];
console.log(a[0]);
После этого вы можете получить доступ к элементам, подобным ниже
console.log(a[0].id);
console.log(a[0].period);
$.parseJSON
принимает строковый аргумент. Я говорю, что вам не нужно разбирать ... просто читать с объекта. Попробуйте оповестить оresult[0].status
result
? Я только что попробовалJSON.parse(<the JSON you posted>)
и он отлично работает.