我有一个小应用程序从几个API中提取数据。到目前为止,在我的所有情况下,我都会收到JSON以获得单个响应,但是对于这个,我获得了一系列命中。如何访问数组中的数据?这是我从返回的JSON中获取数据的基本结构:
// pull article from JSON
function getArticle(article) {
document.getElementById('articletitle').innerHTML = (article.title);
...
};
因此,对于单个响应非常有效,它会抓取文章标题并将其抛入div中。但是,如果我收回一系列像这样的文章
,该怎么办?JSON:
getArticle({"Title":"title","Rights":"Copyright (C)",...[{"ResultId":1,"DocType":"ar","DocTitle":"some title",...
我的主要问题是如何抓住某篇文章中DocTitle
的说法?只是抓住.DocTitle
似乎没有通过。奖励点用于修改javascript以迭代返回的文章数组。
万分感谢。
答案 0 :(得分:0)
[{“ResultId”:1,“DocType”:“ar”,“DocTitle”:“some title”},{“ResultId”:2,“DocType”:“ar”,“DocTitle”:“some标题”}] 这个数组也应该有一个索引。
var test={"Title":"title",content:[{"ResultId":1,"DocType":"ar","DocTitle":"some title"},{"ResultId":2,"DocType":"ar","DocTitle":"some title"}]};
alert(test.content[0].DocTitle);
答案 1 :(得分:0)
在你的问题中:
getArticle({"Title":"title","Rights":"Copyright (C)",...
[{"ResultId":1,"DocType":"ar","DocTitle":"some title",...
过度缩写到我们必须猜测你的意思。除非与关键字相关联,否则不能将数组放在对象的中间。你需要这样的东西:
getArticle({"Title":"title","Rights":"Copyright (C)",...
"articles" : [{"ResultId":1,"DocType":"ar","DocTitle":"some title",...]
});
function getArticle(article) {
alert(article.articles[0].DocTitle); // first item in array: "some title"
for (var i = 0; i < article.articles.length; i++) {
var currentArticle = article.articles[i];
alert(currentArticle.ResultId + ": " + currentArticle.DocTitle);
}
}
注意我已在您的对象中添加了“文章”键。
或者你可以自己返回一个数组而不是另一个对象的一部分:
getArticle([{"ResultId":1,"DocType":"ar","DocTitle":"some title",...},{"ResultId":2,...},...]);
function getArticle(articles) {
for (var i = 0; i < articles.length; i++)
alert(articles[i].DocTitle);
}