gpt4 book ai didi

javascript - 如何加载包含对象对象的 JSON 文件的每个部分?

转载 作者:行者123 更新时间:2023-11-28 15:51:53 25 4
gpt4 key购买 nike

我的 JSON 文件如下所示:

[{ "articles": [
{ "1": { "sections":
[ {"1": "Lots of stuff here."} ]
}
},
{ "2": { "sections":
[ {"1": "And some more text right here"} ]
}
}
}]

基本前提是整个数组中有一个元素称为 "articles" ,它等于 "sections" 的数组.

换句话说,它是一部宪法,所以它看起来像这样:

第十条

-A 部分

-B 部分

-C 部分

Z 条

...

我希望能够提取每篇文章并将其加载到

<div class="alert text-black" id="article">
<p class="lead" id="articleHeader"><strong>Article 1</strong></p>
<dl>
<dt id="article_section">Section 1</dt>
<dd id="article_sectionINFO">this stuff belongs to section 1</dd>
</dl>
</div>

这是我到目前为止的脚本:

var loadEvents = function(d){
$.each(d, function(i){
var articleN = i;
var articleID = "article" + i;
var articleHeaderID = "articleHeader" + i;
var articleHeader = "<p class='lead' id='articleHeader'><strong>Article " + i + "</strong></p>";
var mySections = new Array();
$.each(d, function(i){
var sectionN = i;
var sectionID = "article" + articleN + "section" + sectionN;
var sectionINFO = sectionID + "INFO";
mySections[k] =
"<dt id='" + sectionID +"'> Section " + sectionN + "</dt>" +
"<dd id='" + sectionINFO +"'>" + d[sectionN].
})
$("#eventHolder").append(new_block(articleID, articleHeaderID, articleHeader)); //to call the new element
})}

$.getJSON('data/constitution.json', loadConstitution);

基本上,我只是希望能够为每篇文章重现一个更大的框(如上面的 <html> 代码所示),并为每个部分提供一个列表 ( <dl></dl> )。如何正确访问 JSON 文件中的数据?

最佳答案

由于您有一个数组,其中包含一个对象,该对象包含 article 属性,而该属性是一个包含文章的数组,因此您需要深入到该属性来循环遍历它们。在回调函数中使用两个属性,以便您可以访问文章对象:

$.each(d[0].articles, function(i, article) {

由于每个项目都是一个包含 sections 属性的对象,该属性是一个包含各部分的数组,因此您需要深入了解每个项目中的该属性。对各部分使用不同的索引变量,以便您仍然可以访问用于文章索引的 i 变量:

var mySections = article.sections;
$.each(mySections, function(j, section) {

在该循环中,j 是该节的索引,section 是节字符串,i 仍然是该节的索引文章。

这应该让你走上循环的正确轨道,剩下的大部分只是为每个值使用正确的变量。

关于javascript - 如何加载包含对象对象的 JSON 文件的每个部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20247503/

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