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

如何反序列化指定JSON并提取AirportCode、Latitude、Longitude字段?

解析JSON提取指定字段的方法

嘿,作为反序列化领域的新手,完全不用慌!咱们先拆解一下你提供的JSON结构,然后一步步提取你需要的AirportCode、Latitude和Longitude字段。

首先,先理清楚这个JSON的层级结构:

  • 最外层是AirportResource对象
  • 里面嵌套了Airports对象
  • Airports里的Airport是一个数组,每个元素就是一个机场的详细数据
  • 每个机场对象里:
    • 直接有AirportCode字段
    • Latitude和Longitude藏在Position -> Coordinate下面

用Python实现提取的示例代码

Python的json模块就能轻松搞定这个任务,代码非常直观,适合新手理解:

import json

# 补全格式合法后的JSON数据
json_data = '''
{ 
  "AirportResource": { 
    "Airports": { 
      "Airport": [
        { 
          "AirportCode": "AAL", 
          "Position": { 
            "Coordinate": { 
              "Latitude": 57.09305556, 
              "Longitude": 9.85 
            } 
          }, 
          "CityCode": "AAL", 
          "CountryCode": "DK", 
          "LocationType": "Airport", 
          "Names": { 
            "Name": [
              {"@LanguageCode": "xx", "$": "Aalborg"},
              {"@LanguageCode": "de", "$": "Aalborg"},
              {"@LanguageCode": "ru", "$": "Ольборг"},
              {"@LanguageCode": "pt", "$": "Aalborg"},
              {"@LanguageCode": "jp", "$": "オールボア"},
              {"@LanguageCode": "kr", "$": "올보르그"},
              {"@LanguageCode": "en", "$": "Aalborg"},
              {"@LanguageCode": "it", "$": "Aalborg"}
            ]
          }
        },
        {
          "AirportCode": "CPH",
          "Position": {
            "Coordinate": {
              "Latitude": 55.61805556,
              "Longitude": 12.65611111
            }
          }
        }
      ]
    }
  }
}
'''

# 加载JSON数据
data = json.loads(json_data)

# 提取机场数组
airports = data['AirportResource']['Airports']['Airport']

# 遍历每个机场,提取目标字段
extracted_data = []
for airport in airports:
    extracted = {
        'AirportCode': airport['AirportCode'],
        'Latitude': airport['Position']['Coordinate']['Latitude'],
        'Longitude': airport['Position']['Coordinate']['Longitude']
    }
    extracted_data.append(extracted)

# 打印整理后的结果
for item in extracted_data:
    print(item)

代码运行结果

运行上面的代码后,你会得到干净的目标字段集合:

{'AirportCode': 'AAL', 'Latitude': 57.09305556, 'Longitude': 9.85}
{'AirportCode': 'CPH', 'Latitude': 55.61805556, 'Longitude': 12.65611111}

新手避坑提醒

  1. 保证JSON格式合法:你提供的原始JSON末尾有省略号和未闭合的括号,实际解析前一定要补全或确保数据格式正确,否则会直接报错。
  2. 处理可能缺失的字段:如果部分机场数据存在层级缺失(比如没有Position字段),可以用get方法做容错处理,避免代码崩溃:
latitude = airport.get('Position', {}).get('Coordinate', {}).get('Latitude', None)

这样即使某个层级不存在,代码也会返回None而不是抛出异常。

如果你用的是其他编程语言(比如Java、JavaScript),也可以告诉我,我再给你对应的示例哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:12:15