我有一个简单的 json 对象,它会输出 4 个项目,每个项目的属性都完全不同。我已经显示了 json 和 4 个名为 meta.work_content
的对象,如下所示:
[Object, Object, Object, Object]
我可以在控制台中打开它们并查看对象,如下所示:
0: Object
1: Object
2: Object
3: Object
我可以进一步研究每一个等等。在我的 javascript 中,我有一个简单的 ajax 请求,通过以下设置获取项目:
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;
// output ACF objects
console.log(nodes);
},
cache: false
});
};
现在棘手的部分来了,我想访问每个 meta.work_content
对象,但不使用它来实现 base.meta.work_content[0], base.meta.work_content [1]
等,因为每个商品的订单都会发生变化,因此这些数字将无关紧要。
需要根据其对象名称而不是[0],[1],[2]
来访问这些项目,因为这是行不通的。
干杯
最佳答案
尝试使用以下内容:
$(document).ready(function() {
var objects = {
// Key `object1` which contains sertain properties
object1: { name: "Name" },
// Key `object2` which contains sertain properties
object2: { firstname: "Fname" }
};
alert(objects.object1.name); // eg Name
alert(objects.object2.firstname); // eg Fname
// Check if object exists
if(objects.object1)
{
// Do something with the properties of object1
}
});
更新
使用您的示例:
success: function ( dataS ) {
var nodes = dataS; // Eg nodes is like objects in my example above
// Object 1
var base = nodes.object1; // Eg object1 is the name of your object
var postContent = base.content;
var postTitle = base.title;
var featuredImage = base.meta.main_image;
},
关于javascript - 如何获取没有对象编号的 json 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30997920/