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

如何获取非连续键名JSON对象的下一个元素?

解决方案

要处理非连续键名的JSON对象,核心是先把所有键整理成有序的整数列表,再通过索引定位下一个元素,具体实现如下:

步骤说明

  1. 读取JSON数据后,将所有字符串类型的键转换为整数,并排序得到有序的键列表,这样就能明确元素的顺序(比如示例中的键排序后为 [1,2,3,7,10])。
  2. 找到当前randElem在有序键列表中的位置(索引)。
  3. 计算下一个元素的索引:如果当前是最后一个元素,下一个索引设为0(回到第一个元素);否则索引+1。
  4. 根据新索引取出对应的键,再从JSON数据中获取对应的值。

代码实现

import json

randElem = 3
data = json.load(open('proxies.json'))

# 将JSON的键转换为整数并排序,得到有序的键列表
sorted_keys = sorted(int(key) for key in data.keys())

# 找到当前元素的索引
current_index = sorted_keys.index(randElem)

# 计算下一个元素的索引
if current_index == len(sorted_keys) - 1:
    next_index = 0
else:
    next_index = current_index + 1

# 获取下一个元素的值
next_proxy = data[str(sorted_keys[next_index])]
print(next_proxy)

额外处理(可选)

如果担心randElem不在键列表中导致报错,可以添加判断:

if randElem not in sorted_keys:
    print("指定的元素ID不存在")
else:
    # 执行上述索引计算和取值逻辑
    current_index = sorted_keys.index(randElem)
    # ... 后续代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:52:04