gpt4 book ai didi

php - 如何合并JSON两个索引然后解析信息

转载 作者:行者123 更新时间:2023-12-01 03:12:23 25 4
gpt4 key购买 nike

我正在尝试迭代JSON(玩家和建筑物)的两个索引,以便我可以在jQuery中获得新结果

我有两个 JSON 索引,第一个索引包含玩家信息,第二个索引包含构建相关玩家的信息。

我想解析它,以便我可以获得 Player 及其建筑物名称。

我的实际 JSON 结果

{
"Players": [
{
"id": "35",
"building_id": "8",
"room_num": "101",
},
{
"id": "36",
"building_id": "9",
"room_num": "102",
},
{
"id": "37",
"building_id": "10",
"room_num": "103",
},
{
"id": "38",
"building_id": "11",
"room_num": "104",
}
],
"Buildings": [
{
"id": "8",
"name": "ABC"
},
{
"id": "9",
"name": "DEF"
},
{
"id": "10",
"name": "GHI"
},
{
"id": "11",
"name": "JKL"
}
]
}

需要这个

 "information": [
{
"player_id": "35",
"Buildings_name": "ABC"
},
{
"player_id": "36",
"Buildings_name": "DEF"
},
{
"player_id": "37",
"Buildings_name": "GHI"
},
{
"player_id": "38",
"Buildings_name": "JKL"
}
]
}

最佳答案

开始吧,这对每个玩家来说都是检查是否有建筑物并将它们映射到新的结构。这不会过滤没有映射到玩家的建筑物的值,也不会包括没有玩家的建筑物。

var x = {
"Players": [
{
"id": "35",
"building_id": "8",
"room_num": "101",
},
{
"id": "36",
"building_id": "9",
"room_num": "102",
},
{
"id": "37",
"building_id": "10",
"room_num": "103",
},
{
"id": "38",
"building_id": "11",
"room_num": "104",
}
],
"Buildings": [
{
"id": "8",
"name": "ABC"
},
{
"id": "9",
"name": "DEF"
},
{
"id": "10",
"name": "GHI"
},
{
"id": "11",
"name": "JKL"
}
]
};

var res = $.map(x.Players, function(item) {
return {
player_id: item.id,
building_name: $.grep(x.Buildings, function(i) {
return i.id == item.building_id
}).length != 0 ? $.grep(x.Buildings, function(i) {
return i.id == item.building_id
})[0].name : undefined
}
})

如果您想过滤没有关系的值,例如 INNER join

var resInnerJoin = $.grep($.map(x.Players, function(item) {
return {
player_id: item.id,
building_name: $.grep(x.Buildings, function(i) {
return i.id == item.building_id
}).length != 0 ? $.grep(x.Buildings, function(i) {
return i.id == item.building_id
})[0].name : undefined
}
}), function(it) {
return it.building_name != undefined
})

关于php - 如何合并JSON两个索引然后解析信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24950742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com