我如何从 express 中的数组中获取数据
How can i get data from array in express
我在 nodejs 中使用 rest API 和 express ejs。
从那个 api 我得到 JSON 如下数据。
在此数据中,数组内有一个数组。
问题是我想要 guid 的 feature_image 值。但是当我尝试获取该值时,它显示 has no method 'forEach
错误。
[
{
"ID": 161,
"title": "Compant Name 3",
"status": "publish",
"type": "testimonial",
"author": {
"ID": 1,
"username": "admin",
"name": "admin",
"first_name": "",
"last_name": "",
"nickname": "admin",
"slug": "admin",
"URL": "",
"avatar": "http://2.gravatar.com/avatar/56282b1eb6c5d293a03d2c167924b197?s=96",
"description": "",
"registered": "2015-04-28T10:14:02+00:00",
"meta": {
"links": {
"self": "http://tryitoneyewear.com/wp-json/users/1",
"archives": "http://tryitoneyewear.com/wp-json/users/1/posts"
}
}
},
"content": "<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem </p>\n",
"parent": null,
"link": "http://tryitoneyewear.com/testimonial/compant-name-3/",
"date": "2015-06-04T07:33:29",
"modified": "2015-06-04T08:01:26",
"format": "standard",
"slug": "compant-name-3",
"guid": "http://tryitoneyewear.com/?post_type=testimonial&p=161",
"excerpt": "<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem</p>\n",
"menu_order": 0,
"comment_status": "open",
"ping_status": "open",
"sticky": false,
"date_tz": "UTC",
"date_gmt": "2015-06-04T07:33:29",
"modified_tz": "UTC",
"modified_gmt": "2015-06-04T08:01:26",
"meta": {
"links": {
"self": "http://tryitoneyewear.com/wp-json/posts/161",
"author": "http://tryitoneyewear.com/wp-json/users/1",
"collection": "http://tryitoneyewear.com/wp-json/posts",
"replies": "http://tryitoneyewear.com/wp-json/posts/161/comments",
"version-history": "http://tryitoneyewear.com/wp-json/posts/161/revisions"
}
},
"featured_image": {
"ID": 28,
"title": "dummy_img",
"status": "inherit",
"type": "attachment",
"author": {
"ID": 1,
"username": "admin",
"name": "admin",
"first_name": "",
"last_name": "",
"nickname": "admin",
"slug": "admin",
"URL": "",
"avatar": "http://2.gravatar.com/avatar/56282b1eb6c5d293a03d2c167924b197?s=96",
"description": "",
"registered": "2015-04-28T10:14:02+00:00",
"meta": {
"links": {
"self": "http://tryitoneyewear.com/wp-json/users/1",
"archives": "http://tryitoneyewear.com/wp-json/users/1/posts"
}
}
},
"content": "<p class=\"attachment\"><a href='http://tryitoneyewear.com/wp-content/uploads/2015/04/dummy_img.jpg'><img width=\"200\" height=\"200\" src=\"http://tryitoneyewear.com/wp-content/uploads/2015/04/dummy_img.jpg\" class=\"attachment-medium\" alt=\"dummy_img\" /></a></p>\n",
"parent": null,
"link": "http://tryitoneyewear.com/?attachment_id=28",
"date": "2015-04-29T06:50:48",
"modified": "2015-04-29T06:50:48",
"format": "standard",
"slug": "dummy_img",
"guid": "http://tryitoneyewear.com//wp-content/uploads/2015/04/dummy_img.jpg",
"excerpt": null,
"menu_order": 0,
"comment_status": "open",
"ping_status": "open",
"sticky": false,
"date_tz": "UTC",
"date_gmt": "2015-04-29T06:50:48",
"modified_tz": "UTC",
"modified_gmt": "2015-04-29T06:50:48",
"meta": {
"links": {
"self": "http://tryitoneyewear.com/wp-json/media/28",
"author": "http://tryitoneyewear.com/wp-json/users/1",
"collection": "http://tryitoneyewear.com/wp-json/media",
"replies": "http://tryitoneyewear.com/wp-json/media/28/comments",
"version-history": "http://tryitoneyewear.com/wp-json/media/28/revisions"
}
},
"terms": [],
"source": "http://tryitoneyewear.com/wp-content/uploads/2015/04/dummy_img.jpg",
"is_image": true,
"attachment_meta": {
"width": 200,
"height": 200,
"file": "2015/04/dummy_img.jpg",
"sizes": {
"thumbnail": {
"file": "dummy_img-150x150.jpg",
"width": 150,
"height": 150,
"mime-type": "image/jpeg",
"url": "http://tryitoneyewear.com/wp-content/uploads/2015/04/dummy_img-150x150.jpg"
},
"owl_widget": {
"file": "dummy_img-180x100.jpg",
"width": 180,
"height": 100,
"mime-type": "image/jpeg",
"url": "http://tryitoneyewear.com/wp-content/uploads/2015/04/dummy_img-180x100.jpg"
}
},
"image_meta": {
"aperture": 0,
"credit": "",
"camera": "",
"caption": "",
"created_timestamp": 0,
"copyright": "",
"focal_length": 0,
"iso": 0,
"shutter_speed": 0,
"title": "",
"orientation": 0
}
}
},
"terms": []
}
]
feature_image
不是数组,因此没有可用的 forEach 函数。
要使用对象,只需这样做:
yourJsonObject.forEach(function(obj) {
console.log(obj.feature_image.ID); // shows 28
});
您应该多了解一些 json 并且可能 javascript
您的 json 是一个包含单个对象的数组。 featured_image 也是对象,因此要获得您需要的值,例如
your_json[0].featured_image.guid
我在 nodejs 中使用 rest API 和 express ejs。
从那个 api 我得到 JSON 如下数据。
在此数据中,数组内有一个数组。
问题是我想要 guid 的 feature_image 值。但是当我尝试获取该值时,它显示 has no method 'forEach
错误。
[
{
"ID": 161,
"title": "Compant Name 3",
"status": "publish",
"type": "testimonial",
"author": {
"ID": 1,
"username": "admin",
"name": "admin",
"first_name": "",
"last_name": "",
"nickname": "admin",
"slug": "admin",
"URL": "",
"avatar": "http://2.gravatar.com/avatar/56282b1eb6c5d293a03d2c167924b197?s=96",
"description": "",
"registered": "2015-04-28T10:14:02+00:00",
"meta": {
"links": {
"self": "http://tryitoneyewear.com/wp-json/users/1",
"archives": "http://tryitoneyewear.com/wp-json/users/1/posts"
}
}
},
"content": "<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem </p>\n",
"parent": null,
"link": "http://tryitoneyewear.com/testimonial/compant-name-3/",
"date": "2015-06-04T07:33:29",
"modified": "2015-06-04T08:01:26",
"format": "standard",
"slug": "compant-name-3",
"guid": "http://tryitoneyewear.com/?post_type=testimonial&p=161",
"excerpt": "<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem</p>\n",
"menu_order": 0,
"comment_status": "open",
"ping_status": "open",
"sticky": false,
"date_tz": "UTC",
"date_gmt": "2015-06-04T07:33:29",
"modified_tz": "UTC",
"modified_gmt": "2015-06-04T08:01:26",
"meta": {
"links": {
"self": "http://tryitoneyewear.com/wp-json/posts/161",
"author": "http://tryitoneyewear.com/wp-json/users/1",
"collection": "http://tryitoneyewear.com/wp-json/posts",
"replies": "http://tryitoneyewear.com/wp-json/posts/161/comments",
"version-history": "http://tryitoneyewear.com/wp-json/posts/161/revisions"
}
},
"featured_image": {
"ID": 28,
"title": "dummy_img",
"status": "inherit",
"type": "attachment",
"author": {
"ID": 1,
"username": "admin",
"name": "admin",
"first_name": "",
"last_name": "",
"nickname": "admin",
"slug": "admin",
"URL": "",
"avatar": "http://2.gravatar.com/avatar/56282b1eb6c5d293a03d2c167924b197?s=96",
"description": "",
"registered": "2015-04-28T10:14:02+00:00",
"meta": {
"links": {
"self": "http://tryitoneyewear.com/wp-json/users/1",
"archives": "http://tryitoneyewear.com/wp-json/users/1/posts"
}
}
},
"content": "<p class=\"attachment\"><a href='http://tryitoneyewear.com/wp-content/uploads/2015/04/dummy_img.jpg'><img width=\"200\" height=\"200\" src=\"http://tryitoneyewear.com/wp-content/uploads/2015/04/dummy_img.jpg\" class=\"attachment-medium\" alt=\"dummy_img\" /></a></p>\n",
"parent": null,
"link": "http://tryitoneyewear.com/?attachment_id=28",
"date": "2015-04-29T06:50:48",
"modified": "2015-04-29T06:50:48",
"format": "standard",
"slug": "dummy_img",
"guid": "http://tryitoneyewear.com//wp-content/uploads/2015/04/dummy_img.jpg",
"excerpt": null,
"menu_order": 0,
"comment_status": "open",
"ping_status": "open",
"sticky": false,
"date_tz": "UTC",
"date_gmt": "2015-04-29T06:50:48",
"modified_tz": "UTC",
"modified_gmt": "2015-04-29T06:50:48",
"meta": {
"links": {
"self": "http://tryitoneyewear.com/wp-json/media/28",
"author": "http://tryitoneyewear.com/wp-json/users/1",
"collection": "http://tryitoneyewear.com/wp-json/media",
"replies": "http://tryitoneyewear.com/wp-json/media/28/comments",
"version-history": "http://tryitoneyewear.com/wp-json/media/28/revisions"
}
},
"terms": [],
"source": "http://tryitoneyewear.com/wp-content/uploads/2015/04/dummy_img.jpg",
"is_image": true,
"attachment_meta": {
"width": 200,
"height": 200,
"file": "2015/04/dummy_img.jpg",
"sizes": {
"thumbnail": {
"file": "dummy_img-150x150.jpg",
"width": 150,
"height": 150,
"mime-type": "image/jpeg",
"url": "http://tryitoneyewear.com/wp-content/uploads/2015/04/dummy_img-150x150.jpg"
},
"owl_widget": {
"file": "dummy_img-180x100.jpg",
"width": 180,
"height": 100,
"mime-type": "image/jpeg",
"url": "http://tryitoneyewear.com/wp-content/uploads/2015/04/dummy_img-180x100.jpg"
}
},
"image_meta": {
"aperture": 0,
"credit": "",
"camera": "",
"caption": "",
"created_timestamp": 0,
"copyright": "",
"focal_length": 0,
"iso": 0,
"shutter_speed": 0,
"title": "",
"orientation": 0
}
}
},
"terms": []
}
]
feature_image
不是数组,因此没有可用的 forEach 函数。
要使用对象,只需这样做:
yourJsonObject.forEach(function(obj) {
console.log(obj.feature_image.ID); // shows 28
});
您应该多了解一些 json 并且可能 javascript
您的 json 是一个包含单个对象的数组。 featured_image 也是对象,因此要获得您需要的值,例如
your_json[0].featured_image.guid