如何按数字键读取JSON文件中的对应文本数据?
数字键读取JSON对应内容的实现方法
核心逻辑
你给出的JSON结构的键为字符串类型的数字,不能直接使用数字类型的索引访问,核心操作步骤如下:
- 读取本地JSON文件,将文本内容解析为对应编程语言的字典/对象结构
- 将需要查询的数字键转换为字符串类型,或直接传入字符串格式的数字作为键取值
- 可根据需求增加键不存在、值为空的容错处理
常用语言实现示例
Python 实现
import json # 读取并解析JSON文件 with open("demo.json", "r", encoding="utf-8") as f: json_data = json.load(f) # 方式1:直接使用字符串类型的数字键取值 print(json_data["1"]) # 输出:Hello # 方式2:输入为数字类型时,先转为字符串再取值 input_key = 2 print(json_data[str(input_key)]) # 输出:Can I help you? # 容错写法:键不存在时返回默认值,避免报错 target_key = 8 print(json_data.get(str(target_key), "未找到对应键"))
Node.js 实现
const fs = require('fs') // 读取并解析JSON文件 const jsonData = JSON.parse(fs.readFileSync('demo.json', 'utf-8')) // 方式1:直接使用字符串类型的数字键取值 console.log(jsonData["1"]) // 输出:Hello // 方式2:输入为数字类型时,先转为字符串再取值 const inputKey = 3 console.log(jsonData[String(inputKey)]) // 输出:We'll figure it out ourselves. // 容错写法:键不存在时返回默认值 const targetKey = 8 console.log(jsonData[String(targetKey)] ?? "未找到对应键")
注意事项
- 禁止直接使用数字类型作为键访问,例如Python中
json_data[1]、JS中jsonData[1]都会抛出找不到键的错误 - 你示例中4-7的键对应值为空字符串,可根据业务需求增加空值判断逻辑,过滤无效内容
内容的提问来源于stack exchange,提问作者sar marat
相关产品推荐
相关产品推荐

