【问题标题】:Undefined returned from json未定义从 json 返回
【发布时间】:2020-07-01 09:18:45
【问题描述】:

我正在尝试从下面显示的 json 中获取一些数据,特别是 [1] 数组中的“html”。但是,当我在将变量设置为该 json 选择器后控制台记录welcomeTXT 时,它会显示

undefined 

知道为什么数据返回未定义吗?

var welcomeTXT; 

    fetch('http://ip.ip.ip.ip:port/ghost/api/v3/content/pages/?key=276f4fc58131dfcf7a268514e5')
      .then(response => response.json())
      .then(data => {
          console.log(data);
          welcomeTXT = ['pages'][0]['title'];
          console.log(welcomeTXT);
      });


JSON

    {
   "pages":[
      {
         "id":"5efb6bbeeab44526aecc0abb",
         "uuid":"38b78123-e5a8-4346-8f6e-6f57a1a284d0",
         "title":"About Section",
         "slug":"about-section",
         "html":"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>",
         "comment_id":"5efb6bbeeab44526aecc0abb",
         "feature_image":null,
         "featured":false,
         "visibility":"public",
         "created_at":"2020-06-30T16:43:42.000+00:00",
         "updated_at":"2020-06-30T16:58:53.000+00:00",
         "published_at":"2020-06-30T16:58:37.000+00:00",
         "custom_excerpt":null,
         "codeinjection_head":null,
         "codeinjection_foot":null,
         "custom_template":null,
         "canonical_url":null,
         "url":"/about-section/",
         "excerpt":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor\nincididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis\nnostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu\nfugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in\nculpa qui officia deserunt mollit anim id est laborum.",
         "reading_time":0,
         "page":true,
         "og_image":null,
         "og_title":null,
         "og_description":null,
         "twitter_image":null,
         "twitter_title":null,
         "twitter_description":null,
         "meta_title":null,
         "meta_description":null
      },
      {
         "id":"5efb6f53eab44526aecc0ac4",
         "uuid":"26463d5f-011e-46b3-a1e2-60e213e33f6f",
         "title":"Welcome",
         "slug":"welcome",
         "html":"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>",
         "comment_id":"5efb6f53eab44526aecc0ac4",
         "feature_image":null,
         "featured":false,
         "visibility":"public",
         "created_at":"2020-06-30T16:58:59.000+00:00",
         "updated_at":"2020-06-30T16:59:02.000+00:00",
         "published_at":"2020-06-30T16:59:02.000+00:00",
         "custom_excerpt":null,
         "codeinjection_head":null,
         "codeinjection_foot":null,
         "custom_template":null,
         "canonical_url":null,
         "url":"http:/welcome/",
         "excerpt":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor\nincididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis\nnostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\nDuis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu\nfugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in\nculpa qui officia deserunt mollit anim id est laborum.",
         "reading_time":0,
         "page":true,
         "og_image":null,
         "og_title":null,
         "og_description":null,
         "twitter_image":null,
         "twitter_title":null,
         "twitter_description":null,
         "meta_title":null,
         "meta_description":null
      }
   ],
   "meta":{
      "pagination":{
         "page":1,
         "limit":15,
         "pages":1,
         "total":2,
         "next":null,
         "prev":null
      }
   }
}

任何帮助都会很棒,因为我不知道为什么 JSON 不起作用

【问题讨论】:

    标签: javascript json


    【解决方案1】:

    你在这里忘记了data

    welcomeTXT = data['pages'][0]['title'];
    

    【讨论】:

      【解决方案2】:

      承诺然后你错过了“数据”

      welcomeTXT = ['pages'][0]['title'];

      应该是

      welcomeTXT = data['pages'][0]['title'];

      var welcomeTXT; 
      fetch('http://ip.ip.ip.ip4/ghost/api/v3/content/pages/?key=276f4fc58131dfcf7a268514e5')
        .then(response => response.json())
        .then(data => {
            console.log(data);
            welcomeTXT = data['pages'][0]['title'];
            console.log(welcomeTXT);
        });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-20
        • 2021-12-15
        • 1970-01-01
        • 1970-01-01
        • 2018-09-02
        • 2020-11-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多