# MQTTX 1.9.5 发布：JSON 消息高亮显示

> MQTT 5.0 客户端工具 MQTTX 1.9.5 正式发布。本次更新中，我们主要针对桌面客户端强化了 JSON 语法的错误消息提示，并在消息中增加了 JSON 高亮的支持。此外，我们还对 UI 进行了多项修改和优化，以进一步增强用户体验。

> Language: zh-CN · Published: 2023-08-25 · Category: 版本发布 · Version: 1.9.5 · Canonical: https://mqttx.app/zh/blog/mqttx-1-9-5-released-json-message-highlighting-and-more · Translation: [English](https://mqttx.app/blog/mqttx-1-9-5-released-json-message-highlighting-and-more.md)

近日，[MQTT](https://www.emqx.com/zh/blog/the-easiest-guide-to-getting-started-with-mqtt) 5.0 客户端工具 MQTTX 1.9.5 正式发布。本次更新中，我们主要针对桌面客户端强化了 JSON 语法的错误消息提示，并在消息中增加了 JSON 高亮的支持。此外，我们还对 UI 进行了多项修改和优化，以进一步增强用户体验。

> 最新版本下载：[https://mqttx.app/zh/downloads](https://mqttx.app/zh/downloads)

## JSON 格式消息高亮显示

在 MQTT 数据交换中，JSON 格式已经成为了一个标准和常用的数据格式。为了更好地服务于用户并提高消息内容的可读性，新版本特地引入了 JSON 高亮显示功能。

![MQTT JSON Highlighting](https://assets.emqx.com/images/b36d13bc04b238c1780356c64ff5714f.png?x-image-process=image%2Fresize,w_1536%2Fformat,webp)

对于接收部分，用户只要选择了接收消息内容为 JSON 格式，系统将默认为其添加语法的高亮显示，这使得数据的结构和内容展示得更为直观和清晰。这种视觉上的优化将大大帮助用户在调试和分析 MQTT 数据时迅速定位关键信息，从而提高工作效率。

然而，对于大量的 JSON 数据，实时渲染高亮可能会对客户端性能产生影响，特别是在数据流量特别大的情况下可能会导致一定的卡顿。为了应对这一情况，我们为用户提供了一个选项，用户可以在设置中将 JSON 高亮功能关闭，以此来临时提升客户端的性能。

![MQTTX](https://assets.emqx.com/images/0fc163aa893e3cee6461608e88b19088.png?x-image-process=image%2Fresize,w_1536%2Fformat,webp)

在后续的版本中，我们会继续对此功能进行优化，以确保在享受语法高亮的同时，也能有一个流畅的用户体验。

## JSON 语法错误提示升级

在之前的版本中，当您选择接收数据格式为 JSON 但当前主题接收到含有非 JSON 格式的消息，会遭遇频繁的错误提示弹窗。这不仅影响了用户的使用体验，还难以快速识别问题所在。

新版本中，我们移除了错误弹窗，调整为直接在消息列表中标识错误的 JSON 消息。这样，您可以不受干扰地处理混合数据格式的主题消息，以提数据高调试效率。

![JSON Syntax Error Prompts](https://assets.emqx.com/images/e4ca9d272cb41ad2a4eb665a4b41182a.png?x-image-process=image%2Fresize,w_1536%2Fformat,webp)

## 修复及优化

在 1.9.5 中，我们对 MQTTX 的其他功能也进行了一些优化和修复。具体包括：

- **文本处理**：我们修正了文本处理中的一些问题，如：“在消息类型文本中的 '\n' 转义问题”，从而提升了功能的稳定性。
- **样式调整**：为了提供更好的用户体验，我们进行了多项 UI 和样式的修改，包括完整显示消息中的用户属性、修复订阅列表 UI 塌陷等问题。
- **深色模式适应**：现在，标签页边框颜色会根据深色模式设置进行调整。
- **有效的 JSON 代码高亮**：当负载为有效的 JSON 数据时，才会得到高亮显示。
- **滚动条风格**：我们修改了滚动条的风格，使其导航更为便捷，保持在不同的操作系统中，也能有一致的显示效果。

## 面向社区的任务管理面板

自 MQTTX 1.9.5 版本起，我们将与社区展开更加开放和透明的交流合作。我们使用 GitHub Project 工具在 GitHub 上启动了一个面向社区公开的任务管理面板。用户不仅能够实时追踪当前的任务规划和进度，还能提前预览下个版本的更新内容，包括新功能开发、问题修复等。

我们十分期待社区成员的反馈和建议，和我们共同打造更加完善的 MQTTX。

> 项目管理地址：[https://github.com/orgs/emqx/projects/4/views/1](https://github.com/orgs/emqx/projects/4/views/1)

![Task Management Panel](https://assets.emqx.com/images/5687d2e8ab140be9877e6b255764b4eb.png?x-image-process=image%2Fresize,w_1536%2Fformat,webp)

## 未来规划

- 将物联网场景数据模拟功能同步到桌面客户端中。
- 编解码支持 Avro 的消息格式。
- 支持 Sparkplug B。
- 可配置忽略 QoS 0 的消息存储，以减少存储空间的占用。
- MQTT Debug 功能。
- 接收到的消息可以进行自动图表绘制。
- 插件功能（协议扩展 [CoAP](https://www.emqx.com/zh/blog/coap-protocol)，MQTT-SN 等）。
- 脚本测试自动化（Flow）。
