JSON.parse:为什么这不起作用
问题描述:
我有一个JSON:JSON.parse:为什么这不起作用
$.ajax({
type: "POST",
url: myUrl,
success: function (result) {
var data = JSON.parse(result);
for (var i = 0; i < data.poles.length; i++) {
....
我在调试器中看到的是:
data = "{"poles":[{"id":36,"name":"AUVERGNE"},{"id":44,"name":"Alsace"},{"id":42,"name":"Artois"},....],"poleNumber":48}
但我得到一个消息,说data.poles没有定义
我想错过什么?
答
Json好吗?
{"poles":[{"id":36,"name":"AUVERGNE"},{"id":44,"name":"Alsace"},{"id":42,"name":"Artois"}],"poleNumber":48}
编辑:
好吧,如果你有这样的JSON:
data = {"poles":[{"id":36,"name":"AUVERGNE"},{"id":44,"name":"Alsace"},{"id":42,"name":"Artois"}],"poleNumber":48}
可以使data.poles完美。删除第一个”,你有一个错误的JSON,所以你永远不会解析
"{"poles":[{"id":36,"name":"AUVERGNE"},{"id":44,"name":"Alsace"},{"id":42,"name":"Artois"}],"poleNumber":48}
我想'data'是一个字符串,你只是使用了错误类型的字符串文字。如果它是一个字符串,那么它显然不是一个对象 – MinusFour
为什么'{'在引号中?我认为你的引号是倒置的,'poles'应该用引号括起来,括号不应该是,我认为你的对象实际上是正确的,如果你刚刚删除了第一个'' '在你的第一个'{'之前。 – zero298
我编辑了我的消息给出了完整的上下文 – Lempkin