我如何从 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&#038;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