技术博客
汉字多功能转换器:地址分词实战(物流/地图场景的地址智能切分)

汉字多功能转换器:地址分词实战(物流/地图场景的地址智能切分)

作者: 万维易源
2026-09-02
汉字多功能转换器汉字转拼音简繁转换全角半角地址分词
# 汉字多功能转换器:地址分词实战(物流/地图场景的地址智能切分) > 接口/接入点:汉字多功能转换器 · 地址分词(99-117) · 是否免费:是 · 请求方式:POST/GET · 返回格式:JSON · 适用人群:物流、地图、数据分析工程师 · 阅读时间:约 7 分钟 ## 核心要点 - ⚠️ **地址分词与其它 5 个接入点不同**:请求参数叫 `addr`(**query 参数、必须**),不是 `content`。 - ⚠️ **返回结构也不同**:业务字段是 `ret_code`(number,0=成功)、`msg`(错误提示,无错时不存在)、`result`(分词结果),不是 `data`/`flag`。 - `addr` 字符长度**必须大于 4**,否则不返回结果。 ## Why:为什么地址分词特殊 物流下单、地图标注、地址库清洗时,常需要把"云南省昆明市五华区学府路745号"切成"省/市/区/路/号"的结构化片段。地址分词接入点专为这类中文地址文本设计,但它的调用方式与返回字段都和"转拼音/简繁/全半角"不一样——本文专门讲清这些差异,避免你拿错字段。 ## What:接口速览 | 项 | 说明 | |----|------| | 地址 | `https://route.showapi.com/99-117?appKey=YOUR_APPKEY` | | 请求方式 | POST 或 GET | | 必填参数 | `addr`(**query 参数**:`?addr=地址文本`),长度必须 > 4 | | 返回(业务) | `ret_code`(number)、`msg`(String,无错时不存在)、`result`(String) | > 注意:这里 `addr` 是**查询参数**,与其它接入点把 `content` 放在表单体(form body)的写法不一致,调用时务必区分。 ## How:调用地址分词 **Python(requests,addr 放 params)** ```python import requests url = "https://route.showapi.com/99-117" params = {"appKey": "YOUR_APPKEY", "addr": "云南省昆明市五华区学府路745号"} r = requests.get(url, params=params, timeout=10).json() if r.get("showapi_res_code") == 0: body = r["showapi_res_body"] if body.get("ret_code") == 0: print("分词:", body["result"]) # 云南省 昆明市 五华区 学府路 745号 else: print("业务失败:", body.get("msg")) else: print("系统失败:", r.get("showapi_res_error")) ``` **cURL** ```bash curl "https://route.showapi.com/99-117?appKey=YOUR_APPKEY&addr=%E4%BA%91%E5%8D%97%E7%9C%81%E6%98%86%E6%98%8E%E5%B8%82%E4%BA%94%E5%8D%8E%E5%8C%BA%E5%AD%A6%E5%BA%9C%E8%B7%AF745%E5%8F%B7" ``` **Node.js(fetch)** ```javascript const url = "https://route.showapi.com/99-117?appKey=YOUR_APPKEY&addr=" + encodeURIComponent("云南省昆明市五华区学府路745号"); const r = await fetch(url).then(x => x.json()); const b = r.showapi_res_body; if (b.ret_code === 0) console.log(b.result); else console.log("失败:", b.msg); ``` ## 返回示例与解析 ```json { "showapi_res_code": 0, "showapi_res_error": "", "showapi_res_id": "c1a2...", "showapi_res_body": { "ret_code": 0, "result": "云南省 昆明市 五华区 学府路 745号", "msg": "" } } ``` | 字段 | 类型 | 说明 | |------|------|------| | `showapi_res_code` | int | 系统状态码,0 成功(先判断它) | | `showapi_res_body.ret_code` | number | 业务状态码,0 表示分词成功 | | `showapi_res_body.result` | String | 分词结果,仅在 `ret_code=0` 时返回 | | `showapi_res_body.msg` | String | 错误提示,**无错误时该字段不存在** | ## 进阶/边界 - **`addr` 长度必须 > 4**:过短地址(如"北京")可能不返回结果或报错,调用前先做长度校验。 - 这是**业务级 `ret_code`**(number),与系统级 `showapi_res_code`(int)是两个字段,判断顺序:先看 `showapi_res_code`,再看 `ret_code`。 - 不要拿本文的 `result`/`ret_code`/`msg` 去套其它接入点的 `data`/`flag`,反之亦然。 ## FAQ **Q1:为什么我用 content 传地址没返回?** 地址分词只认 `addr` 参数(query),不认 `content`;请改用 `?addr=...`。 **Q2:返回里没有 data/flag?** 正常。地址分词返回 `ret_code`/`msg`/`result`,与其它接入点结构不同。 **Q3:报错了但没有 msg?** `msg` 仅在出错时存在;无错时该字段不出现,判断用 `if ("msg" in body)`。 **Q4:短地址(如"北京")没结果?** `addr` 长度需大于 4;建议传入更完整的地址文本。 ## 相关能力 / 下一步阅读 - [汉字多功能转换器返回字段全解:data / simpleData / flag 与系统级 showapi_res_code](https://www.showapi.com/guides/hanzi-converter-response-fields-99) - [汉字多功能转换器错误排查:showapi_res_code 与地址分词的 ret_code/msg](https://www.showapi.com/guides/hanzi-converter-errors-99) - [物流/地图行业方案:用地址分词统一清洗全国收货地址](https://www.showapi.com/guides/hanzi-converter-logistics-plan-99) - **本系列共 12 篇**:查看[汉字多功能转换器指南总目录](https://www.showapi.com/guides/hanzi-converter-guides-99)