【发布时间】:2013-10-22 17:14:03
【问题描述】:
你好,这是我的 ajax 调用的 json 响应:
[{"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(result),但得到了
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);
【问题讨论】:
-
您的响应看起来像一个 javascript 对象而不是字符串。
$.parseJSON接受一个字符串 arg。我的意思是,您不需要解析.. 只需从对象中读取。尝试提醒result[0].status -
你确定这是
result的值吗?我刚试过JSON.parse(<the JSON you posted>),效果很好。 -
jsonlint.com 似乎可以验证您提供的 JSON。当试图找出错误实际发生的位置时,更多的代码会给人们更多的工作。
-
假设它是一个实际的字符串,如果您将 php 文件保存为 uft-8 文件而没有关闭它,那么这可能是 json 开头的 BOM 字符的问题。见this question 和this question。
标签: javascript jquery json