【问题标题】:Combine Instagram JSON Objects组合 Instagram JSON 对象
【发布时间】:2015-07-21 00:26:05
【问题描述】:

我今天彻底崩溃了,无法弄清楚如何从 Instagram API 组合两个 JSON 对象。

它们看起来有点像这样:

{
  "pagination": {
    ...
  },
  "meta": {
    ...
  },
  "data": [
    {
      ...
    },
    {
      ...
    },
    {
      ...
    },
  ]
}

Instagram API 的工作方式是一次最多只能向您发送 20 个数据项,然后它会在 "pagination" 内发送一个 "next_url" 参数,因此您知道还有更多信息要获取。

我想将每个对象的"data" 部分添加到一个大对象中,这样我就可以循环遍历这些对象并一次性将它们映射到谷歌地图上。

举个例子:

obj1 = {
  "pagination": {
    ...
  },
  "meta": {
    ...
  },
  "data": [
    {
      ...
    },
    {
      ...
    },
    {
      ...
    }
  ]
}

obj2 = {
  "pagination": {
    ...
  },
  "meta": {
    ...
  },
  "data": [
    {
      ...
    },
    {
      ...
    },
    {
      ...
    }
  ]
}

结果:

obj3 = {
  "data": [
    {
      ...
    },
    {
      ...
    },
    {
      ...
    },
    {
      ...
    },
    {
      ...
    },
    {
      ...
    }
  ]
}

"pagination""meta" 部分不需要合并在一起,我只需要一个包含所有数据的大长列表。

希望您能提供帮助,如果您需要更多信息/数据,请询问。

编辑

我意识到我不需要 obj3 并且感谢 Brian 的回答,我找到了解决方案:

obj1 = {
  data: []
};

obj1.data = obj1.data.concat(obj2.data);

谢谢布赖恩

【问题讨论】:

    标签: javascript json object instagram


    【解决方案1】:

    如果我理解正确的问题,我认为你只需要这样的东西:

    obj3 = obj1;
    obj1.data = obj2.data.concat(obj2.data)
    

    基本上连接数组。唯一的问题是如果要合并重复项,但听起来这是一个简单的列表添加?

    【讨论】:

    • 不会有重复的,因为我总是会从 Instagram 请求下一组数据,我会试一试,谢谢。
    • 很好,除了obj3=obj1的部分。 obj1.data=obj1.data.concat(obj2.data.concat(obj3)) 怎么样
    • 是的,在实践中,我会这样内联,但出于说明目的,我试图保留他的变量名。
    • 谢谢伙计,您帮助我找到了我需要的解决方案,请查看我的问题中的编辑。
    • @lukehillonline 请将其标记为已接受的答案,这比编辑您的问题以包含答案要好。
    猜你喜欢
    • 1970-01-01
    • 2019-03-24
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    相关资源
    最近更新 更多