如何在另一个JSON响应中使用数据,然后结合两个响应

时间:2019-04-03 14:24:38

标签: python json

我什至不知道从哪里开始,这可能是一个问题/要求范围太广的问题,如果是这样,请告诉我。

我正在尝试为《天命2》的战队创建排行榜,以显示各种游戏数据。 Bungie提供了一个API,可以在其中获取所有这些信息。我需要使用两个端点,第一个是

https://www.bungie.net/platform/GroupV2/MY_CLAN_ID/Members/

此终结点为我提供以下JSON响应:

{  
   "Response":{  
      "results":[  
         {  
            "memberType":1,
            "isOnline":false,
            "lastOnlineStatusChange":"1553343305",
            "groupId":"CLANID",
            "destinyUserInfo":{  
               "iconPath":"/img/theme/destiny/icons/icon_psn.png",
               "membershipType":2,
               "membershipId":"MEMBERSHIPID",
               "displayName":"DISPLAYNAME"
            },
            "bungieNetUserInfo":{  
               "supplementalDisplayName":"TAGLINE",
               "iconPath":"/img/profile/avatars/kat.gif",
               "membershipType":TYPE,
               "membershipId":"MEMBERSHIPID",
               "displayName":"DISPLAYNAME"
            },
            "joinDate":"2018-07-03T13:56:25Z"
         },
         {
            "REPEATED FOR NEXT CLAN MEMBER"
        }
      ]
}

从bungieNetUserInfo中,我需要提取MembershipId和displayName并将其存储。然后,我需要使用URL对下一个GET请求使用MembershipID:

https://www.bungie.net/platform/Destiny2/2/Account/membershipId/Character/0/Stats/?modes=3,4,5,63,75,76

这使我得到了JSON响应:

{  
   "Response":{  
      "allPvP":{  
         "allTime":{  
            "activitiesEntered":{  
               "statId":"activitiesEntered",
               "basic":{  
                  "value":2654.0,
                  "displayValue":"2654"
               }
            },
            REPEATED FOR NEXT STAT
            }
        },
        REPEATED FOR NEXT ACTIVITY {
        }
    }
}

我需要从此响应中提取各种数据,然后将其与上述响应结合起来,如下所示:

{  
   "Response":{  
      "Clan Members":[  
         {  
            "displayName":"DISPLAYNAME",
            "membershipId":"MEMBERSHIPID",
            "stats": [
                {
                    "allPvP" [
                        {
                            PVP STATS HERE
                            }
                        ],
                    "allPvE" [
                        {
                            PVE STATS HERE
                        }
                        ]
                }
                ]
            },
         },
         {
            "REPEATED FOR NEXT CLAN MEMBER"
        }
      ]
}

从那里,我可以根据需要将数据解析到我的页首横幅表中。就像我说的,我不确定应该从哪里开始做,对于这一切我还是很陌生的。我已经能够很好地处理网站其他区域中的单个响应,因为它们都来自一个端点(供应商库存轮换,每周活动周期等),但是将这两者结合起来让我感到很困惑。

我的最终目标是将这些数据保存在一个可以调用的单独的.json中,这样我就不会在每次页面加载时对API进行70次以上的每个成员统计请求。我每天可以运行一次以获取信息的脚本是理想的选择。

0 个答案:

没有答案