首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将变量映射到对象

如何将变量映射到对象
EN

Stack Overflow用户
提问于 2017-06-26 15:13:42
回答 2查看 56关注 0票数 0

我对JSON和jQuery/JavaScript很陌生。

我如何拉一个对象以便我可以在jQuery中使用它,我尝试了2次

代码语言:javascript
复制
var placements = document.querySelector(placements)
var message = document.querySelector(placements.message)


$.ajax({
  type: 'GET',
  url: 'https://raw.githubusercontent.com/kieranbs96/developer-exercise/master/data/recommendations.json',
  async: false,
  dataType: 'json',
  success: function (data) {
    $("header").append(placements.message);
  }
});

下面是我想要加入的JSON:

代码语言:javascript
复制
{  
   "placements":[  
      {  
         "message":"If you like this, you might be into these",
         "items":[  
            {  
               "id":"029148",
               "name":"Woodblock Play Suit",
               "price":"46.00"
            },
            {  
               "id":"0294526806",
               "name":"Smock Dress",
               "price":"39.00"
            },
            {  
               "id":"0297180006",
               "name":"Cami",
               "price":"9.00"
            },
            {  
               "id":"0298473606",
               "name":"Asymmetric Wrap Cami Dress",
               "price":"46.00"
            },
            {  
               "id":"0297155306",
               "name":"Casual Stripe Tee",
               "price":"16.00"
            }
         ]
      }
   ]
}

标记为重复--另一个问题没有解决我的问题--这个问题的答案已经解决了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-26 15:19:31

您还没有包括错误或预期输出,但是这里有两个潜在的错误。

  1. 您没有利用从AJAX请求返回的data对象。
  2. 与JSON对象上的placements键相关联的值是一个对象数组。因此,要访问message键,需要遍历数组。

这很可能是您的代码应该是什么样子:

代码语言:javascript
复制
 $("header").append(data.placements[0].message);
票数 1
EN

Stack Overflow用户

发布于 2017-06-26 15:54:43

首先,您丢失了追加函数中的数据对象。

其次,考虑到data.placementsarray这一事实,您忽略了array的关键符号。您可以使用data.placements[0].message获取您的首选数据,或者,如果将来将使用更多的对象来扩展placements,则可以通过如下所示的对象来扩展map

代码语言:javascript
复制
    data.placements.map(function(obj, index){
        if(index == 0){
            $("header").append(obj.message);
        }
    })

当然,如果数组的长度总是1,则没有必要。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44762912

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档