jquery jqXHR responseText字符串转换为JSON

nwwlzxa7  于 2023-02-21  发布在  jQuery
关注(0)|答案(2)|浏览(178)

我有一些responseText,看起来像这样:

[{
        "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
    }
]

但是我不能在我的完整函数中使用这些数据。我尝试过使用$. parseJSON函数将其转换为JSON,但是尽管我得到了一个对象,但我不能访问任何项...

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

有人能帮我吗?
干杯,r3plica

k3bvogb1

k3bvogb11#

您的JSON响应在顶层有一个Array。您需要执行以下操作:

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

ohtdti5x2#

使用jqXHR.responseJSON

console.log(jqXHR.responseJSON[0].partId);

如果指定了json,则在将响应作为对象传递到成功处理程序之前,将使用jQuery.parseJSON解析响应。解析后的JSON对象可通过jqXHR对象的responseJSON属性使用。
文件:https://api.jquery.com/jQuery.ajax/

相关问题