如何为usaddress库返回的‘Street Address’添加JSON键?
如何给usaddress.tag()返回的地址类型添加键名?
我正在使用usaddress Python库解析美国地址。示例代码如下:
address = '456 Elm St, Someville, NY 54321' print(usaddress.tag(address))
运行后生成的结果为:
({'AddressNumber': '456', 'StreetName': 'Elm', 'StreetNamePostType': 'St', 'PlaceName': 'Someville', 'StateName': 'NY', 'ZipCode': '54321'}, 'Street Address')
除了"Street Address"外,其余值均有对应键,我想为"Street Address"也分配一个键,这样用GSON或Jackson解析JSON会更简单,请问该怎么做?
可以手动将usaddress.tag()返回的元组转换成包含地址类型键的字典,示例代码如下:
import usaddress address = '456 Elm St, Someville, NY 54321' parsed_details, address_type = usaddress.tag(address) # 给地址类型添加自定义键,比如'AddressType' parsed_details['AddressType'] = address_type print(parsed_details)
运行后会得到包含地址类型键的完整字典:
{'AddressNumber': '456', 'StreetName': 'Elm', 'StreetNamePostType': 'St', 'PlaceName': 'Someville', 'StateName': 'NY', 'ZipCode': '54321', 'AddressType': 'Street Address'}
这样处理后,整个结构是单一的字典格式,直接序列化JSON后,GSON或Jackson这类工具就能轻松解析,不需要额外处理元组结构。
内容的提问来源于stack exchange,提问作者Ar_
相关产品推荐
相关产品推荐

