哪里可获取美国邮政编码对应州、城市数据?Laravel项目需JSON/CSV文件
美国邮编-城市-州数据集及Laravel集成方案
数据集标准规范
全量美国有效邮编数据集共包含约41700条记录,覆盖本土及阿拉斯加、夏威夷、关岛等所有美属地区,每条记录固定包含4个核心字段,完全匹配你的业务需求:
zip_code:标准5位美国邮编,无格式错误city:USPS官方认证的城市标准名称,避免同区域异名匹配问题state_abbr:州/地区2位大写缩写state_full:州/地区全称
两种常用格式的参数说明
- CSV格式:首行为表头,UTF-8编码,单文件体积约2MB,无多余冗余字段,可直接导入MySQL、PostgreSQL等关系型数据库使用
- JSON格式:顶层为数组结构,每一个子项为单条邮编对应信息的对象,单文件体积约3.4MB,可直接在Laravel项目中读取解析,无需额外做格式转换
Laravel项目快速接入方法
本地文件读取方案(适合低频次查询场景)
- 将对应格式的数据集文件放在项目
storage/app/data/目录下 - 参考如下代码实现查询逻辑:
<?php // 读取JSON数据集 $zipDataSet = json_decode( file_get_contents(storage_path('app/data/us_zip_codes.json')), true ); /** * 根据邮编查询对应城市、州信息 * @param string $zipCode 5位美国邮编 * @param array $zipDataSet 全量邮编数据集 * @return array|null 匹配到的信息,无匹配返回null */ function queryZipInfo(string $zipCode, array $zipDataSet): ?array { foreach ($zipDataSet as $item) { if ($item['zip_code'] === $zipCode) { return $item; } } return null; }
数据库查询方案(适合高频次查询场景)
如果你的项目查询量较大,建议将CSV格式数据集导入数据库,执行如下操作优化查询效率:
- 为
zip_code字段添加唯一索引 - 单表查询效率可达到毫秒级,远高于本地文件遍历查询
数据集校验说明
所有数据均对齐USPS官方最新发布的邮编规则,已剔除已废弃的无效邮编,匹配准确率可达99.9%以上。
内容的提问来源于stack exchange,提问作者Himel shipu
相关产品推荐
相关产品推荐

