发送空消息时Mirth Connect报SyntaxError: Empty JSON string求解决
Mirth Connect发送空消息触发
SyntaxError: Empty JSON string的解决办法 问题场景
在Mirth Connect中发送空消息时,出现SyntaxError: Empty JSON string错误,表现为:
- 弹出错误提示窗口显示该语法错误
- 状态页同步出现对应错误提示
需求:实现状态消息页正常发送空消息。
可行解决方案
1. 给JSON解析逻辑添加空值判断
如果通道脚本中使用了JSON.parse()处理消息,必须先校验消息内容非空再执行解析:
var rawMsg = messageObject.getRawData(); var jsonData; if (rawMsg && rawMsg.trim() !== '') { jsonData = JSON.parse(rawMsg); // 后续业务逻辑 } else { // 空消息时初始化合法JSON结构,避免解析报错 jsonData = {}; }
2. 调整通道消息类型配置
若通道当前设置的消息类型为JSON,空字符串不符合JSON语法规范,可做以下调整:
- 将消息类型改为
Raw,空消息会被当作纯文本处理,跳过JSON解析步骤 - 或者在发送空消息时,替换为合法的空JSON结构(如
{}或[]),而非完全空字符串
3. 拦截空输入并替换(UI发送场景)
针对状态消息页手动发送空消息的场景,可在通道的前置处理脚本中添加拦截逻辑:
var msg = connectorMessage.getRawData(); if (!msg || msg.trim() === '') { connectorMessage.setRawData('{}'); }
这样空消息会被自动替换为合法的空JSON对象,避免触发解析错误。
4. 升级Mirth Connect版本
部分旧版本Mirth存在空JSON消息处理的bug,升级到最新稳定版(如3.12.x及以上)可解决此类兼容性问题。
内容的提问来源于stack exchange,提问作者Anurag Kurve
相关产品推荐
相关产品推荐

