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格式,你的数组是无效的数组你问题中的这一部分不是有效的对象,因为它缺少属性名。谢谢你的链接和详细解释!谢谢你的链接和详细解释!