如何提取JSON中Funktion节点下的所有SubX属性名生成列表,无需读取属性内容
实现方案
核心逻辑是先解析JSON为结构化对象再过滤筛选,比直接处理JSON字符串更可靠,不会出现格式变化、值内容误匹配等问题。
通用实现步骤
- 将JSON文件内容解析为对应编程语言的对象/字典结构
- 定位到
Main.Funktion节点 - 取出该节点的所有属性名,过滤出以
Sub开头的属性即可
常用语言实现示例
Python
import json # 读取并解析JSON文件 with open("test.json", "r", encoding="utf-8") as f: json_data = json.load(f) # 过滤符合要求的键 target_keys = [k for k in json_data["Main"]["Funktion"] if k.startswith("Sub")] # 按要求格式输出 print("Printed List:") for key in target_keys: print(f'"{key}"')
Node.js/JavaScript
const fs = require('fs') // 读取并解析JSON文件 const jsonData = JSON.parse(fs.readFileSync('./test.json', 'utf-8')) // 过滤符合要求的键 const targetKeys = Object.keys(jsonData.Main.Funktion).filter(k => k.startsWith('Sub')) // 按要求格式输出 console.log('Printed List:') targetKeys.forEach(k => console.log(`"${k}"`))
Shell(基于jq工具)
如果是Shell环境,安装jq后可以直接一行命令实现:
echo "Printed List:" && jq -r '.Main.Funktion | keys[] | select(startswith("Sub")) | "\"\(.)\""' test.json
内容的提问来源于stack exchange,提问作者lufekon
相关产品推荐
相关产品推荐

