gpt4 book ai didi

javascript - 使用 JSON 文件和 Javascript

转载 作者:行者123 更新时间:2023-12-02 20:30:41 24 4
gpt4 key购买 nike

返回 JSON 文件时,我似乎无法检测返回了多少结果。问题似乎在于 JSON 文件每次返回不同数量的项目。有时它会返回 1 个项目,有时它会返回超过 1 个项目。您看,我正在尝试从 JSON 文件获取第一个结果,以便可以显示它。现在,如果每次我知道将返回的数字时更改代码,则以下两位代码将起作用。Artists.id;和 Artists.id[0];,但目前我似乎无法让它们一起工作..

如果返回1个结果,Artists.id;将成功取回艺术家ID;
如果返回多于1个结果Artists.id;将返回“未定义”。

所以我需要将其更改为Artists.id[0];如果 JSON 文件返回超过 1 项。但是,当我将其更改为此时,如果 JSON 包含 1 项,它将返回“未定义”。

看来我需要一些代码来告诉我返回的数组是否有 1 个或多个项目。我已经尝试过 arr.length 但这似乎不起作用(也许我错误编码了它)。我也尝试过 if(arr===undefined) ,但也失败了。下面的代码是我使用artistzero想出的,但它不起作用。有人有什么建议吗?或者下面的代码不起作用的原因?

当前代码:

    $.ajax(
{
type: "GET",
url: id_url,
dataType: "jsonp",
success: function (responseData, textStatus, XMLHttpRequest)
{
if (responseData.Artists.Artist)
{
var Artists = responseData.Artists.Artist;
var artistzero = Artists.length;

if (artistzero >= 2)
{
// if more than one result is returned
var artisttype = Artists.id[0];
}
if (artistzero <= 1)
{
// if one result is returned
var artisttype = Artists.id;
}
}
else
{
$('body').append('No results');
}
}
});

包含 1 个结果的示例 JSON:

{"Artists":{"total":"1","count":"1","start":"1","errorCount":"0","Artist":{"id":"33291476","flags":"123010","catzillaID":"0","website":"","name":"Jamie T","rating":"-1","ItemInfo":{"Relevancy":{"index":"1316"}},"hotzillaID":"1809709440","url":"http://web.com/jamie-t/","trackCount":"96"}}}

具有多个结果的示例 JSON:

{"Artists":{"total":"1087","count":"3","start":"1","errorCount":"0","Artist":[{"id":"256212","flags":"123523","catzillaID":"1927205428","website":"http://www.bobmarley.com/","name":"Bob Marley","rating":"-1","ItemInfo":{"Relevancy":{"index":"718"}},"hotzillaID":"1802045595","url":"http://web.com/bob-marley/","trackCount":"12706"},{"id":"312874","flags":"124611","catzillaID":"1927580000","website":"http://www.bobdylan.com/","name":"Bob Dylan","rating":"-1","ItemInfo":{"Relevancy":{"index":"694"}},"hotzillaID":"1800021697","url":"http://web.com/bob-dylan/","trackCount":"4987"},{"id":"268472","flags":"41603","catzillaID":"1927193413","website":"","name":"Bob Wills","rating":"-1","ItemInfo":{"Relevancy":{"index":"644"}},"hotzillaID":"1800264434","url":"http://web.com/bob-wills/","trackCount":"2364"}]}}

最佳答案

在获取id(因为它是一个数组)之前,您需要访问第一位艺术家,如下所示:

var artisttype = Artists[0].id;

如果您可以将 JSON 更改为始终返回一个数组,即使只有一个结果......不幸的是,由于我无法理解的原因,某些平台不会这样做。

关于javascript - 使用 JSON 文件和 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4183389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com