我有一个json数组我试图从中获取数据。这是我目前正在看的内容:
我在jquery / javascript下面生成了这个并给我这个我可以玩的数据,这里的重要部分是下面的nodes
对象,这就是获得不同布局的原因:
var getPosts = function() {
$.ajax({
url: '/wp-json/posts?type=case-studies',
data: {
filter: {
'name': _last
}
},
success: function ( dataS ) {
//List some global variables here to fetch post data
// We use base as our global object to find resources we need
var base = dataS[0];
console.log(base);
var postContent = base.content;
var postTitle = base.title;
// Main Image ACF object
var featuredImage = base.meta.main_image;
// Gallery ACF object
var nodes = base.meta.work_content;
// Simple ACF object
//var textArea = base.meta.work_content[1];
var items = [];
for(var i = 0; i < nodes.length; i++)
{
var layout = nodes[i];
var layoutNames = layout.acf_fc_layout;
items.push( layout.acf_fc_layout['gallery']);
console.log(layout);
};
$('<div>', {
"class":'loaded',
html:items.join('')
}).appendTo(projectContainer);
},
cache: false
});
};
**这里用json本身编辑**
json文件here
这些项目的顺序非常重要,无法操作,我需要做的是获取每个对象并使用不同的标记布局附加到每个对象的容器中。
每个对象都有acf_fc_layout
作为其不同的关键,我的问题是如何区分我使用该密钥获得的不同数据并为每个提供不同的标记?我知道有些人需要进一步创建循环以获取图像等我可以做到这一点。 要记住的另一个重要事项是,会有多个相同的acf_fc_layout
项目,但内容不同。
干杯
答案 0 :(得分:1)
var items = [];
var layoutNames = [];
for(var i = 0; i < nodes.length; i++)
{
var layout = nodes[i];
layoutNames.push(layout.acf_fc_layout);
console.log(layout);
};
//now loop on each layoutNames
$(layoutNames).each(function (){
for(var i = 0; i < nodes.length; i++)
{
var layout = nodes[i];
if(layout.acf_fc_layout==$(this).val())
//Perform Operation either image / video / page layout
console.log(layout);
};
})