根据下图:
我正在尝试使用
解析(根据JSONLint有效)JSON字符串obj = $parseJSON(data);
并收到错误消息“Unexpected string”。
有谁知道这里有什么问题?
答案 0 :(得分:2)
你所展示的是无效的json。
[]
之外不应显示任何内容,包括外部引号和"strong(1092)"
等额外字符。
您的服务器输出方法有问题。
您无法有选择地提取部分响应并仅验证该部分......整个响应正文必须验证
答案 1 :(得分:2)
它发回了无效的JSON和可疑的标题:
➜ ~ http GET http://www.borntoraiseheaven.org/categoria/lista/
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Encoding: gzip
Content-Length: 257
Content-Type: text/html
Date: Thu, 30 Jul 2015 14:27:56 GMT
Keep-Alive: timeout=15, max=100
Server: Apache/2.2.16 (Debian)
Vary: Accept-Encoding
X-Powered-By: PHP/5.3.3-7+squeeze19
string(1092) "[ {"id_categoria":"188","descricao_categoria":"Envelopes"},
{"id_categoria":"187","descricao_categoria":"Tags"},
{"id_categoria":"186","descricao_categoria":null},
{"id_categoria":"184","descricao_categoria":null},
{"id_categoria":"160","descricao_categoria":"Adesivos"},
{"id_categoria":"161","descricao_categoria":null},
{"id_categoria":"183","descricao_categoria":"Postais"},
{"id_categoria":"169","descricao_categoria":"Folder\/Panfleto\/Flyer"},{"id_categoria":"158","descricao_categoria":null},
{"id_categoria":"164","descricao_categoria":"Cartazes"},
{"id_categoria":"178","descricao_categoria":null},
{"id_categoria":"166","descricao_categoria":"CD\/DVD"},
{"id_categoria":"167","descricao_categoria":"Encartes p\/ Mercados"},
{"id_categoria":"162","descricao_categoria":null},
{"id_categoria":"176","descricao_categoria":null},
{"id_categoria":"168","descricao_categoria":null},
{"id_categoria":"181","descricao_categoria":"Pastas"},
{"id_categoria":"163","descricao_categoria":null},
{"id_categoria":"182","descricao_categoria":null},
{"id_categoria":"177","descricao_categoria":"Kit de Amostras "} ]"
答案 2 :(得分:2)
如前所述,$.parseJSON
没有任何问题。
这是因为您正在使用var_dump
输出您的json服务器端。
所以输出还包括变量的类型和长度
string(1092) "mystring...
你应该使用简单的
echo $myjson;
答案 3 :(得分:1)
你错过了点(。)在$ parseJSON中。你需要使用$ .parseJSON()