紫微斗数十二宫详解:命宫、财帛、事业等 12 宫字段怎么读
# 紫微斗数十二宫详解:命宫、财帛、事业等 12 宫字段怎么读
> 接口/接入点:紫微斗数排盘(apiCode=1647,接入点 1) · 免费 · 返回 JSON · 适用人群:命理研究者、集成开发者 · 阅读时间约 9 分钟
## 核心要点
- 十二宫存放在 `result.pan`(数组,固定 12 个元素),顺序为:命宫→兄弟→夫妻→子女→财帛→疾厄→迁移→仆役→事业→田宅→福德→父母。
- 每宫四个核心星曜字段:`main`(主星)、`assist`(辅星)、`twelve`(十二星),均为字符串数组。
- 每宫还有 `bLimit`(大限)、`sLimit`(小限)、`branch`(干支)、`palace`(宫名)。
## Why:为什么十二宫是命盘的核心
紫微斗数以「十二宫」为骨架,把人生不同面向(性格、财富、事业、健康、感情等)分到十二个宫位,每个宫位里落着不同的星曜。读懂 `pan` 数组,你就能把命盘结构化地展示给用户,而不是一堆看不懂的字符串。本文逐一拆解十二宫字段。
## What:十二宫字段速览
| `pan[i]` 字段 | 类型 | 含义 |
|------|------|------|
| `palace` | String | 宫名(12 个固定名称之一) |
| `main` | Array[String] | 主星,如「天梁庙权」「右弼」 |
| `assist` | Array[String] | 辅星,如「破碎」「天虚」 |
| `twelve` | Array[String] | 十二星(长生十二神/博士十二神/岁前十二神等组合) |
| `bLimit` | String | 大限(十年运区间),如「6 - 15」 |
| `sLimit` | Array[String] | 小限(每年运,7 个年龄节点) |
| `branch` | String | 干支,如「戊子」 |
十二宫名称与人生面向(按 `pan` 数组顺序):
| 顺序 | 宫名 | 主要对应面向 |
|------|------|------|
| 1 | 命宫 | 性格、先天特质 |
| 2 | 兄弟 | 兄弟姐妹、同辈 |
| 3 | 夫妻 | 婚姻、伴侣 |
| 4 | 子女 | 子女、晚辈 |
| 5 | 财帛 | 财富、理财 |
| 6 | 疾厄 | 健康、体质 |
| 7 | 迁移 | 外出、环境变动 |
| 8 | 仆役 | 朋友、下属 |
| 9 | 事业 | 职业、事业 |
| 10 | 田宅 | 房产、家业 |
| 11 | 福德 | 精神、福报 |
| 12 | 父母 | 长辈、荫庇 |
## How:读取每个宫位
**Python:按宫名提取指定宫**
```python
import requests
url = "https://route.showapi.com/1647-1"
params = {"appKey": "YOUR_APPKEY"}
data = {"time": "1993-10-27 06", "gender": "m"}
res = requests.post(url, params=params, data=data, timeout=10).json()["showapi_res_body"]
if res.get("ret_code") != 0:
raise SystemExit(res.get("remark"))
pan = {p["palace"]: p for p in res["result"]["pan"]}
print("命宫主星:", pan["命宫"]["main"])
print("财帛宫辅星:", pan["财帛"]["assist"])
print("事业宫大限:", pan["事业"]["bLimit"])
```
**cURL**
```bash
curl -X POST "https://route.showapi.com/1647-1?appKey=YOUR_APPKEY" \
-H "content-type: application/x-www-form-urlencoded" \
-d "time=1993-10-27%2006&gender=m"
```
**Node.js(fetch)**
```javascript
const url = "https://route.showapi.com/1647-1?appKey=YOUR_APPKEY";
const body = new URLSearchParams({ time: "1993-10-27 06", gender: "m" });
const data = await (await fetch(url, {
method: "POST", headers: { "content-type": "application/x-www-form-urlencoded" }, body,
})).json();
const pan = Object.fromEntries(data.showapi_res_body.result.pan.map(p => [p.palace, p]));
console.log(pan["命宫"].main, pan["财帛"].branch);
```
## 返回示例与解析
官方示例中 `pan[0]`(命宫)为:
```json
{
"palace": "命宫",
"main": ["天梁庙权", "右弼", "天魁"],
"assist": ["破碎", "天虚"],
"twelve": ["胎", "大耗", "丧门", "灾煞"],
"bLimit": "6 - 15",
"sLimit": ["2", "14", "26", "38", "50", "62", "74"],
"branch": "戊子"
}
```
- `main` 里的「庙权」等后缀表示星曜的庙旺利陷与四化状态,是判断旺衰的关键,展示时建议原样保留。
- `twelve` 通常含 4 项,分别对应长生十二神、博士十二神、岁前十二神等不同体系,具体含义属命理学范畴,本文仅说明其为「十二星」组合,不作命理断言。
## 进阶 / 边界
- **数组长度不固定**:不同宫位主星数量不同(命宫可能 3 颗,有的宫只有 1 颗),渲染用循环而非固定下标。
- **顺序固定可依赖**:`pan` 的 12 个元素顺序稳定,可按数组下标定位,也可用 `palace` 字段建字典。
- **仅单张命盘**:接口一次返回一张盘,无批量;多用户需循环调用 + 缓存(见 [缓存策略](https://www.showapi.com/guides/ziwei-doushu-cache-cost-1647))。
## FAQ
**Q1:pan 数组的顺序会变吗?**
A:官方示例为固定十二宫顺序(命宫→…→父母),可按顺序或 `palace` 字段定位,建议用 `palace` 字段更稳妥。
**Q2:main 里的「庙/旺/权/禄」是什么?**
A:是星曜的庙旺利陷与四化(化禄/权/科/忌)标记,属紫微斗数判断旺衰的依据。接口原样返回,展示时保留即可。
**Q3:十二宫和数字 1~12 怎么对应?**
A:`pan[0]` 是命宫、`pan[11]` 是父母宫,依次对应上表的 12 个面向。
**Q4:辅星(assist)为空正常吗?**
A:部分宫位辅星数组可能较少甚至为空,取决于排盘结果,属正常,渲染时做空数组兼容即可。
## 相关能力 / 下一步阅读
- [紫微斗数排盘API返回字段全解:五行局、十二宫、主星一文读懂](https://www.showapi.com/guides/ziwei-doushu-response-fields-1647)
- [紫微斗数大限与小限解读:bLimit / sLimit 字段推算人生阶段](https://www.showapi.com/guides/ziwei-doushu-limit-interpret-1647)
- [紫微斗数五行局与命主身主解读:wx / mz / sz / sx 字段含义](https://www.showapi.com/guides/ziwei-doushu-wx-mz-sz-1647)
- **本系列共 12 篇**:查看[紫微斗数排盘 API 指南总目录](https://www.showapi.com/guides/ziwei-doushu-guides-1647)