You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何读取含方括号JSON中id为10的player_online字段值?

嘿,我懂你遇到的困扰啦——JSON里嵌套了数组(就是那些方括号包裹的内容)确实容易让人犯迷糊,但别慌,咱们一步步来搞定提取id为10对应的player_online值这件事!

首先,先假设你的JSON结构大概是这样的(这是这类场景最常见的情况):

{
  "some_parent_key": [
    {"id": 5, "player_online": 23},
    {"id": 10, "player_online": 47},
    {"id": 15, "player_online": 12}
  ]
}

简单说就是某个字段对应一个数组,数组里的每一项都是包含id和player_online的对象。下面给你两种常用语言的实现方法:

Python 提取方法

  • 先用json模块解析JSON数据,再遍历数组找到目标项:
import json

# 把你的JSON数据放到这里(可以是字符串,也可以从文件读取)
json_str = '''
{
  "servers": [
    {"id": 5, "player_online": 23},
    {"id": 10, "player_online": 47},
    {"id": 15, "player_online": 12}
  ]
}
'''

# 解析JSON为Python字典
data = json.loads(json_str)

# 遍历数组,找到id=10的对象并提取player_online
for item in data['servers']:
    if item['id'] == 10:
        target_value = item['player_online']
        print(target_value)  # 会输出47
        break  # 找到就停止遍历,提高效率
  • 嫌遍历麻烦?可以用更简洁的生成器表达式:
target_value = next(item['player_online'] for item in data['servers'] if item['id'] == 10)

JavaScript 提取方法

不管是浏览器环境还是Node.js,都可以用数组的find方法快速定位:

// 假设已经把JSON解析成了JavaScript对象
const data = {
  "servers": [
    {"id": 5, "player_online": 23},
    {"id": 10, "player_online": 47},
    {"id": 15, "player_online": 12}
  ]
};

// 找到id为10的对象
const targetItem = data.servers.find(item => item.id === 10);
// 确保找到后再取值,避免报错
if (targetItem) {
  console.log(targetItem.player_online);  // 输出47
}

如果你的JSON数组嵌套得更深(比如多层方括号),思路也是一样的:逐层进入对应的数组,遍历找到匹配id的对象,再提取player_online字段就好啦!

内容的提问来源于stack exchange,提问作者Dekirai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:03:40