如何读取对象URI json文件

时间:2019-07-16 05:27:38

标签: reactjs api

我能够读取此JSON文件,但无法读取对象URI JSON文件。如何使用对象URI JSON文件?

这就是我尝试读取Uri json对象的方式

  componentDidMount(){
    const { match: { params } } = this.props;

      axios.get(params.uri).then((res)=>{
        const question = res.data;
        console.log(question);
        this.setState({ question });
      })

  }

这是JSON文件,其中对象URI包含一个JSON文件,因此如何读取

[
  {
       "id": 59413,
       "thumbnail": {
       "id": "60255",
       "title": "dornoch-castle-whisky-bar",
       "alt": "dornoch-castle-whisky-bar",
       "url": "https://media-magazine.trivago.com/wp-content/uploads/2019/01/23144800/dornoch-castle-whisky-bar.jpg",
      "courtesy": "",
      "position": "center"
    },
    "thumbnail_url": "https://media-magazine.trivago.com/wp-content/uploads/2019/01/23144800/dornoch-castle-whisky-bar.jpg",
    "slug": "dornoch-castle-scotland-whisky",
    "uri": "http://trivago-magazine-work-sample-server.s3-website.eu-central-1.amazonaws.com/dornoch-castle-scotland-whisky.json",
    "title": "Dornoch Castle: A Whisky Tasting at One of the World's Most Popular Hotel Bars",
    "card_title": "Whisky Tasting at Dornoch Castle in the Scottish Highlands",
    "show_publish_date": false,
    "date": "January 29th, 2019",
    "newsletter_popup": false,
    "newsletter_popup_header_image": false,
    "taxonomies": {
      "destinations": [
        {
          "name": "Europe",
          "uri": "/destination/international/europe",
          "slug": "europe",
          "term_id": 1384
        }
      ],
      "themes": [],
      "types": [
        {
          "name": "Nature",
          "uri": "/type/nature",
          "slug": "nature",
          "term_id": 1380
        }
      ]
    },
    "excerpt": "Dornoch Castle has amassed a whisky collection unlike most any other in the world. trivago Magazine Editor, Joe Baur, signs up for their whisky tasting. Video below."
  },

1 个答案:

答案 0 :(得分:0)

在您的特定情况下,它是一个对象数组。因此res.data[0]将是第一个元素,res.data[0]['uri']将是json对象的url。如果要从该URL获取该JSON,则只需将该值传递到axios即可加载JSON。

axios.get(res.data[0]['uri']).then((res)=>{...})

不确定您的用例,但这将使您能够访问回调中res变量中的信息。