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: 拓展插槽数量

点击积木左上角的 蓝色小齿轮 ⚙️,弹出拓展面板。将左侧的 keyvalue 块拖入右侧,增加更多键值对插槽。

创建字典积木的蓝色齿轮拓展

Step 3: 填入键值对数据

在每个插槽中填入你的键(key)和值(value)。例如:

  • key: "temperature" → value: 25
  • key: "humidity" → value: 60
  • key: "device" → value: "sensor_01"

Step 4: 转换为 JSON 文本

将字典积木连接到 转换为文本 积木,即可输出 JSON 文本。

完整逻辑积木块

生成的 JSON 是什么样的?

最终输出的 JSON 文本如下:

{"temperature": 25, "humidity": 60, "device": "sensor_01"}

生成的JSON文本输出

字典嵌套怎么做?

如果 JSON 需要嵌套结构(对象里有对象),可以在字典的 value 位置再放一个"创建字典"积木。App Inventor 2 支持多层嵌套。

JSON 数组怎么处理?

JSON 中的数组可以用 创建列表make a list)积木。列表会自动转换为 JSON 数组格式 [...]

怎么通过 MQTT 发送 JSON?

将字典转换为文本后,直接调用 MQTT 客户端的 Publish 方法发送即可。示例流程:

  1. 创建字典 → 填入传感器数据
  2. 字典转文本 → 得到 JSON 字符串
  3. 调用 MQTT.Publish(topic, jsonText) → 发送到 MQTT Broker

Web 组件和字典拼接 JSON 有什么区别?

Web 组件的 PostText 方法可以自动将字典转为 JSON。但在 MQTT、蓝牙通信等场景需要手动转换。

三种 JSON 拼接方法对比

方法 优点 缺点
字典积木(推荐) 自动格式化、不易出错、支持嵌套 需要了解字典积木用法
字符串拼接 直观简单 容易出错、难维护
Web 组件自动转换 最省事 仅限 HTTP 请求场景

最佳实践:始终使用字典积木构造 JSON,比手动拼接字符串更安全、更高效。


更多 App Inventor 2 教程和资源,请访问 App Inventor 2 中文网

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐