2013-05-07 2 views
1

У меня есть некоторые responseText который выглядит следующим образом:JQuery jqXHR responseText преобразовать строку в формате JSON

[{ 
     "id": null, 
     "partId": 0, 
     "name": "5e8c8c89-445e-4033-80db-014a00cc055e.jpg", 
     "type": "image/png", 
     "size": 2276489, 
     "progress": "1.0", 
     "url": "/Public/Upload/UploadHandler.ashx?id=5e8c8c89-445e-4033-80db-014a00cc055e.jpg", 
     "thumbnail_url": null, 
     "delete_url": "/Public/Upload/UploadHandler.ashx?id=5e8c8c89-445e-4033-80db-014a00cc055e.jpg", 
     "delete_type": "DELETE", 
     "error": null 
    } 
] 

, но я не могу потреблять эти данные в моей полной функции. Я попытался преобразовать его в формат JSON с помощью функции $ .parseJSON но, хотя я получаю объект, я не могу получить доступ к любому из пунктов ...

var o = $.parseJSON(jqXHR.responseText); 
console.log(o.partId); // returns undefined 

Может кто-нибудь помочь мне?

Приветствия, r3plica

+1

Скорее всего, вы получаете доступ к запросу ответа перед тем, как запрос будет завершен, но без дополнительного контекста мы не можем сказать. Редко, что вам действительно нужно напрямую использовать responseText. –

+0

JSON - это уже строка. Это похоже на то, что вы хотите преобразовать строку JSON в объект Javascript. – Paulpro

+1

Вы попробовали 'o [0] .partId'? –

ответ

2

Ваш ответ JSON имеет массив на верхнем уровне. Вам необходимо:

console.log(o[0].partId); 
+0

+1 быстрая охота ... – Omar

+0

спасибо :), это было правильно. Я знал, что это массив, но не думал использовать [0] lol. Дурак я :) – r3plica

Смежные вопросы