如何在多层JSON结构中通过Type 1与jeddah键获取对应值350?
如何在多层JSON结构中获取目标值?
没问题!咱们先理清楚这个JSON的层级结构,再一步步拿到你要的数值350:
层级拆解
你的JSON结构可以拆解成以下层级:
- 最外层根对象:
City_Wise_Fixed_Fare_EN - 下一层包含两个类型对象:
Type 1和Type 2 - 进入
Type 1后,是按出发城市分类的对象:jeddah、riyadh、dammam - 每个出发城市对象里,键是到达城市,值就是对应的固定费用
你要的是「Type 1类型下,从jeddah出发到jeddah的费用」,对应的路径就是:City_Wise_Fixed_Fare_EN → Type 1 → jeddah → jeddah
具体实现示例
下面是主流编程语言的实现代码,你可以直接参考:
Python 示例
import json # 如果你的数据是JSON字符串,先解析成字典 # json_str = '{"City_Wise_Fixed_Fare_EN": {...}}' # fare_data = json.loads(json_str) # 假设已经是解析后的字典 fare_data = { "City_Wise_Fixed_Fare_EN": { "Type 1": { "jeddah": {"jeddah": "350", "riyadh": "1100"}, "riyadh": {"jeddah": "1100", "riyadh": "400"}, "dammam": {"jeddah": "1400", "riyadh": "800"} }, "Type 2": { "jeddah": {"jeddah": "350", "riyadh": "1200"}, "riyadh": {"jeddah": "1200", "riyadh": "500"}, "dammam": {"jeddah": "1500", "riyadh": "900"} } } } # 按层级访问获取目标值 target_fare = fare_data["City_Wise_Fixed_Fare_EN"]["Type 1"]["jeddah"]["jeddah"] print(target_fare) # 输出:350
JavaScript 示例
// 如果你的数据是JSON字符串,先解析成对象 // const jsonStr = '{"City_Wise_Fixed_Fare_EN": {...}}'; // const fareData = JSON.parse(jsonStr); // 假设已经是解析后的对象 const fareData = { "City_Wise_Fixed_Fare_EN": { "Type 1": { "jeddah": {"jeddah": "350", "riyadh": "1100"}, "riyadh": {"jeddah": "1100", "riyadh": "400"}, "dammam": {"jeddah": "1400", "riyadh": "800"} }, "Type 2": { "jeddah": {"jeddah": "350", "riyadh": "1200"}, "riyadh": {"jeddah": "1200", "riyadh": "500"}, "dammam": {"jeddah": "1500", "riyadh": "900"} } } }; // 两种访问方式都可行 const targetFare = fareData.City_Wise_Fixed_Fare_EN["Type 1"].jeddah.jeddah; // 或者:fareData["City_Wise_Fixed_Fare_EN"]["Type 1"]["jeddah"]["jeddah"] console.log(targetFare); // 输出:350
注意事项
- 如果你的原始数据是JSON字符串,一定要先解析成对应语言的对象/字典再进行访问
- 键名包含空格(比如
Type 1)时,在JS里不能用.访问,必须用方括号["Type 1"];Python里则统一用方括号访问即可
内容的提问来源于stack exchange,提问作者Nilesh Bavliya
相关产品推荐
相关产品推荐

