如何统计JSON内玩家数量并校验指定字段值计算s1Staff员工数量
实现方案
通用实现逻辑(适配所有编程语言)
- 第一步:将JSON字符串解析为当前语言可操作的结构化数据(Python中叫字典、JS中叫对象)
- 第二步:读取
players数组的长度,直接得到玩家总数量 - 第三步:初始化
s1Staff = 0作为员工计数初始值 - 第四步:遍历
players数组中的每一个玩家子数组,取出索引为4的元素(对应你说的「第5项」,数组默认从0开始计数,如果你是从0开始数的第5项,索引调整为5即可),如果该元素值为true,就给s1Staff加1
Python 实现代码
import json # 替换为你实际拿到的JSON字符串 json_str = ''' { "players":[ [ "Marta86", 23, 252162, "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/fb/fb7e45fb629ddfa2fdc6d39ed2ed9cd9e4d7b124_medium.jpg", false, "Garbage Collector", false ], [ "Davidsta_", 19, 535731, false, false, "Train Conductor", false ] ], "server":{ "region":"EU", "number":"4", "name":"Compatibility Version", "limit":512, "uptime":"16h 03m", "dxp":[ false ], "beta":"", "motd":"" } } ''' # 解析JSON为字典 data = json.loads(json_str) # 统计玩家总数 player_count = len(data["players"]) print(f"玩家总数量:{player_count}") # 统计服务器员工数量 s1Staff = 0 for player in data["players"]: # 可根据实际字段顺序调整索引值 if player[4] == True: s1Staff += 1 print(f"服务器员工数量:{s1Staff}")
JavaScript 实现代码
// 替换为你实际拿到的JSON字符串 const jsonStr = `{ "players":[ [ "Marta86", 23, 252162, "https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/fb/fb7e45fb629ddfa2fdc6d39ed2ed9cd9e4d7b124_medium.jpg", false, "Garbage Collector", false ], [ "Davidsta_", 19, 535731, false, false, "Train Conductor", false ] ], "server":{ "region":"EU", "number":"4", "name":"Compatibility Version", "limit":512, "uptime":"16h 03m", "dxp":[ false ], "beta":"", "motd":"" } }` // 解析JSON为JS对象 const data = JSON.parse(jsonStr) // 统计玩家总数 const playerCount = data.players.length console.log('玩家总数量:', playerCount) // 统计服务器员工数量 let s1Staff = 0 data.players.forEach(player => { // 可根据实际字段顺序调整索引值 if (player[4] === true) { s1Staff++ } }) console.log('服务器员工数量:', s1Staff)
小提示:如果是从接口请求拿到的JSON数据,不需要手动定义JSON字符串,直接调用对应语言的解析方法处理接口返回值即可。如果统计结果不符合预期,优先校验你取的字段索引是否和实际的字段顺序匹配。
内容的提问来源于stack exchange,提问作者quinnyprincesslmfao
相关产品推荐
相关产品推荐

