Javascript 将JSON对象合并到数组中

Javascript 将JSON对象合并到数组中,javascript,json,node.js,concat,Javascript,Json,Node.js,Concat,如果第一个对象是: { "total": "2" } 第二: [ "player1": { "score": "100", "ping": "50" }, "player2": { "score": "100", "ping": "50" } ] 如果我希望最终结果如下所示: { "total": "2", { "playe

如果第一个对象是:

{
     "total": "2"
}
第二:

[
     "player1": {
          "score": "100",
          "ping": "50"
     },
     "player2": {
          "score": "100",
          "ping": "50"
     }
]
如果我希望最终结果如下所示:

{
     "total": "2",
     {
          "player1": {
               "score": "100",
               "ping": "50"
          },
          "player2": {
               "score": "100",
               "ping": "50"
          }
     }
}
我正在尝试用JavaScript来实现它

更新

最终结果不是有效数组。 这个怎么样

{
     [
          "player1": {
               "score": "100",
               "ping": "50"
          },
          "player2": {
               "score": "100",
               "ping": "50"
          }
     ]
}

您的json无效。如果你想要一些有效的东西,你需要做如下的事情

{
  "total": "2",
  "players": [
     "player1": {
          "score": "100",
          "ping": "50"
     },
     "player2": {
          "score": "100",
          "ping": "50"
     }
  ]
}

您的json无效。如果你想要一些有效的东西,你需要做如下的事情

{
  "total": "2",
  "players": [
     "player1": {
          "score": "100",
          "ping": "50"
     },
     "player2": {
          "score": "100",
          "ping": "50"
     }
  ]
}

您的示例不是正确的JSON对象,您应该这样做

var x = { "total": "2" }
x.players = playerArray

您的示例不是正确的JSON对象,您应该这样做

var x = { "total": "2" }
x.players = playerArray

正如我在评论中所说,
您试图附加一个无效数组,结果得到一个无效JSON

要验证预期的JSON,可以在此处进行测试:

怎么了1

[ "player1" : { "score": "100", "ping": "50"} ] // Array ??
            ^ invalid delimiter (should be ,)
预期结果中的错误2

 {
     "property" : "value" ,
     "total" : "2" ,
          { "player1" : { "score": "100", "ping": "50" }
     ^^^^^ where's the property here???  
 }
你能做什么:

var myObject = {"total":"2"};    
var players = {
         "player1": {
              "score": "100",
              "ping": "50"
         },
         "player2": {
              "score": "100",
              "ping": "50"
         }
};

myObject.players = players;

console.log( myObject );
这将导致:

[object Object] {
  players: [object Object] {
    player1: [object Object] { ... },
    player2: [object Object] { ... }
  },
  total: "2"
}

对象文字需要逗号分隔的
属性:值
对模型

{
   "property1" : val,
   "property2" : [],
   "property3" : "String",
   "property4" : {}
}
以上是一个有效的JSON原因,这意味着您的属性名用双引号括起来

数组(如您的问题所示)不能用
分隔,而是用

myArr = ["string", {}, value]; // is a valid Array.
对象:

myArr = ["string", {"objectProperty":"val"}, value];
现在要从数组中获取键值:

myArr[0] // "string"
myArr[1] // {object Object}
myArr[1].objectProperty // "val" // get Object property value 

从上面可以看出,数组是存储在编号键中的值(基于0),而对象是属性-值对。它们的共同点是逗号(,)分隔符。

正如我在评论中所说,
您试图附加一个无效数组,结果得到一个无效JSON

要验证预期的JSON,可以在此处进行测试:

怎么了1

[ "player1" : { "score": "100", "ping": "50"} ] // Array ??
            ^ invalid delimiter (should be ,)
预期结果中的错误2

 {
     "property" : "value" ,
     "total" : "2" ,
          { "player1" : { "score": "100", "ping": "50" }
     ^^^^^ where's the property here???  
 }
你能做什么:

var myObject = {"total":"2"};    
var players = {
         "player1": {
              "score": "100",
              "ping": "50"
         },
         "player2": {
              "score": "100",
              "ping": "50"
         }
};

myObject.players = players;

console.log( myObject );
这将导致:

[object Object] {
  players: [object Object] {
    player1: [object Object] { ... },
    player2: [object Object] { ... }
  },
  total: "2"
}

对象文字需要逗号分隔的
属性:值
对模型

{
   "property1" : val,
   "property2" : [],
   "property3" : "String",
   "property4" : {}
}
以上是一个有效的JSON原因,这意味着您的属性名用双引号括起来

数组(如您的问题所示)不能用
分隔,而是用

myArr = ["string", {}, value]; // is a valid Array.
对象:

myArr = ["string", {"objectProperty":"val"}, value];
现在要从数组中获取键值:

myArr[0] // "string"
myArr[1] // {object Object}
myArr[1].objectProperty // "val" // get Object property value 

从上面可以看出,数组是存储在编号键中的值(基于0),而对象是属性-值对。它们的共同点是
逗号(,)
分隔符。

您的最终结果是无效的JSON/JavaScript。这不是有效的JSON格式,您的数组是无效的数组您问题中的这一部分不是有效的对象,因为它缺少属性名。您的最终结果是无效的JSON/JavaScript。这不是有效的JSON格式,你的数组是无效的数组你问题中的这一部分不是有效的对象,因为它缺少属性名。谢谢你的链接和详细解释!谢谢你的链接和详细解释!