如何访问名称包含点的JSON字段(如proy_sim.name)?
如何访问名称包含点的JSON字段
嘿,这个问题我熟!当JSON字段名里带.这类特殊字符时,常规的点语法(比如obj.prsp_sol[0].proy_sim.name)会失效——因为程序会误以为proy_sim是一个嵌套对象,然后去寻找它的name属性,但实际上proy_sim.name是一个完整的字段名。这时候换用方括号语法就能轻松解决啦!
先回顾下你的示例JSON:
{ "prsp_sol": [ { "proy_sim.name": "Vehículos", "prsp_def.name": "TRACTOR" } ] }
下面给你几个常用编程语言的实现示例:
JavaScript 实现
const jsonData = { "prsp_sol": [ { "proy_sim.name": "Vehículos", "prsp_def.name": "TRACTOR" } ] }; // 用方括号包裹完整的带点字段名 const targetValue = jsonData.prsp_sol[0]["proy_sim.name"]; console.log(targetValue); // 输出: Vehículos
Python 实现
import json # 解析JSON字符串为Python字典 json_str = '''{ "prsp_sol": [ { "proy_sim.name": "Vehículos", "prsp_def.name": "TRACTOR" } ] }''' data = json.loads(json_str) # 通过方括号访问带点的字段 target_value = data['prsp_sol'][0]['proy_sim.name'] print(target_value) # 输出: Vehículos
通用思路总结
不管你使用哪种编程语言,核心逻辑都是一致的:不要用点符号访问包含特殊字符的字段名,改用方括号包裹完整的字段名字符串。绝大多数处理JSON的编程语言都支持这种语法,能精准定位到目标字段。
内容的提问来源于stack exchange,提问作者Lorenzo Martín
相关产品推荐
相关产品推荐

