【问题标题】:AngularJS - How to append json to another json object?AngularJS - 如何将 json 附加到另一个 json 对象?
【发布时间】:2016-03-31 22:56:23
【问题描述】:

所以我要针对不同的对象,从不同的来源获取数据。我需要将它们转换为单个对象,以便我可以重复它们。

object1 = {
"key1":"value one",
"key2":"value two"
}

object2 = {
"key1":"value three",
"key2":"value four"
}

我需要的是

object3 = [{
"key1":"value one",
"key2":"value two"},
{
"key1":"value one",
"key2":"value two"}
}];

我尝试了 angular.merge,但它仅在键不同时才有效。在我的情况下,键是一样的,只有数据会改变。

任何人都可以帮助将object1 附加到object2 以创建类似object3 的东西,即object1+object2

我尝试将它们转换为 json 字符串并连接它们,但它不起作用。 数组接触功能也不起作用。

【问题讨论】:

  • 阅读How to Ask。然后创建 MCVE。这非常简单,但您需要解决您的问题。此外,您还需要学习 JavaScript。
  • 你想做的是一个对象数组。查找数组。
  • 在 StackOverflow 上提问之前请先做一些基础研究。见JS Tutorial - JavaScript Array Methods
  • 伙计们,我了解您关心社区准则并保持 stackoverflow 的高质量内容,但我已经与这个问题作斗争了一个多星期,尽可能多地进行研究。由于我没有得到答案,这就是我问问题的原因。

标签: javascript arrays angularjs json append


【解决方案1】:

这只是普通的 javascript。您想从对象中创建一个数组。

var object1 = {
  "key1": "value one",
  "key2": "value two"
}

var object2 = {
  "key1": "value three",
  "key2": "value four"
}

var object3 = []; // empty array

// add the other objects to the array
object3.push(object1);
object3.push(object2);

如果您的对象已经是数组并且您只想连接它们,您可以在数组上使用 concat 函数。

var object1 = [{
  key: 'abc',
  value: 1
}];
var object2 = [{
  key: 'cbd',
  value: 2
}];

// use the concat function to concatenate the arrays
var object3 = object1.concat(object2);

您可以通过阅读here 找到的文档来了解有关数组的更多信息。

如果您的对象是 firebaseArray 对象,则它们有自己的 API。更多内容请关注here

【讨论】:

  • 好的,当 object1 和 2 类似于 {"key":"value"} 时,您的解决方案有效。但就我而言,我将 object1 作为 [{"key":"value"}]。所以得到的 object3 是这样的: [[{"key":"value1"}],["key":"value 2"]]
  • @Vineonardo 所以 object1 和 object2 已经是数组了吗?而你只想连接它们?
  • 这就是我正在尝试的,但它不起作用。它说 concat 不是函数。
  • @Vineonardo 我添加了一个关于如何连接数组的示例。您也应该花一些时间阅读他们的文档。链接在答案中。
  • 我会读的,谢谢。我是一个 js 菜鸟,所以理解核心概念需要时间。我知道为什么它说 concat 不起作用,因为 concat 不是函数。
猜你喜欢
  • 1970-01-01
  • 2021-02-07
  • 2011-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多