App Inventor 2 中拼接 JSON 文本的最简方法是利用字典(Dictionary)积木。字典天生就是 JSON 的一种表现形式,打印出来就是标准 JSON 格式文本,无需手动拼接字符串。
为什么用字典而不是拼接字符串?
很多初学者会想到用 join(拼接)积木把字符串一段段拼成 JSON 格式,比如:
{
"temperature": 25, "humidity": 60}
手动拼接不仅容易出错(漏逗号、漏引号、括号不匹配),而且当数据字段增多时维护成本很高。
字典的天然优势:App Inventor 2 的字典本质上就是键值对(key-value pairs),与 JSON 的对象结构完全一致。将字典转换为文本时,自动输出标准 JSON 格式。
如何用字典积木创建 JSON?
Step 1: 找到"创建字典"积木
在积木面板中,进入 字典 分类,找到 创建字典 积木(make a dictionary)。默认只有 2 个插槽(2 组键值对),但它是可拓展块。
Step 2: 拓展插槽数量
点击积木左上角的 蓝色小齿轮 ⚙️,弹出拓展面板。将左侧的 key 和 value 块拖入右侧,增加更多键值对插槽。

Step 3: 填入键值对数据
- key:
"temperature"→ value:25 - key:
"humidity"→ value:60 - key:
"device"→ value:"sensor_01"
Step 4: 转换为 JSON 文本
将字典积木连接到 转换为文本 积木,即可输出 JSON 文本。

生成的 JSON 是什么样的?
{
"temperature": 25, "humidity": 60, "device": "sensor_01"}

字典嵌套怎么做?
在字典的 value 位置再放一个"创建字典"积木,即可实现多层嵌套。
JSON 数组怎么处理?
用 创建列表(make a list)积木,列表会自动转换为 JSON 数组格式 [...]。
怎么通过 MQTT 发送 JSON?
字典转文本后,调用 MQTT 客户端的 Publish 方法发送即可。流程:1.创建字典 2.字典转文本 3.MQTT.Publish(topic, jsonText)
Web 组件和字典拼接 JSON 有什么区别?
Web 组件的 PostText 方法可以自动将字典转为 JSON。但在 MQTT、蓝牙通信等场景需要手动转换。
三种 JSON 拼接方法对比
| 方法 | 优点 | 缺点 |
|---|---|---|
| 字典积木(推荐) | 自动格式化、不易出错、支持嵌套 | 需要了解字典积木用法 |
| 字符串拼接 | 直观简单 | 容易出错、难维护 |
| Web 组件自动转换 | 最省事 | 仅限 HTTP 请求场景 |
最佳实践:始终使用字典积木构造 JSON,比手动拼接字符串更安全、更高效。
更多 App Inventor 2 教程和资源,请访问 App Inventor 2 中文网。