将javascript对象从一个通道传递到另一个通道
passing javascript object from one channel to other channel in mirth
在通道A中,我正在获取XML作为输入。下面提到的传入XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<bookstore>
<books>
<book>
<title>SpringInAction</title>
<NoOfCopies>10</NoOfCopies>
</book>
<book>
<title>HibernateInAction</title>
<NoOfCopies>8</NoOfCopies>
</book>
<book>
<title>JSFInAction</title>
<NoOfCopies>5</NoOfCopies>
</book>
<book>
<title>StrutsInAction</title>
<NoOfCopies>9</NoOfCopies>
</book>
<book>
<title>JSPInAction</title>
<NoOfCopies>4</NoOfCopies>
</book>
</books>
</bookstore>
我正在源代码的Edit Transformer中解析这个XML,并制作JavaScript对象,并将这个JavaScript对象放入一个通道映射中,如下所示:
var book=new Object();
book.title = msg['books']['book'][0]['title'].toString();
book.copies = msg['books']['book'][0]['NoOfCopies'].toString();
logger.info("book "+book);
channelMap.put("book",book);
现在,我想将这个JavaScript对象从Channel A的目的地传递到其他ChannelB,Channel B 我使用的是Mirth版本2.2.1.5861。
在保存通道变量之前,请序列化它(json对象)。
在您的频道目的地中,写出"book"变量。
这样的东西:
变压器内
var book=new Object();
book.title = msg['books']['book'][0]['title'].toString();
book.copies = msg['books']['book'][0]['NoOfCopies'].toString();
logger.info("book "+book);
var Jbook = JSON.stringify(book);
channelMap.put("Jbook",Jbook );
目标模板
${jbook}
然后在接收通道上
var book = JSON.parse(msg.toString());
我还没有验证这个代码,但它应该会给你一个编码策略。
参见Mirth讨论JSON
另外:请参阅我们的HealthcareIT项目提案,网址为area51StackExchange。这将是一个很好的问题。
可以使用全局通道贴图传递对象。另外两个映射被持久化到数据库,因此MirthConnect引擎将它们序列化为字符串。但是,对于全局频道映射,您应该在脚本中处理上下文(顾名思义,它不仅存在于消息或频道上下文中)。
这里有一个使用全局通道贴图传递对象的示例。
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- jQuery:循环一个具有不同超时值的循环
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 从javascript创建一个列表
- 节点导出返回一个空对象
- 使用clickToggle并在单击另一个元素时关闭元素
- 我可以在json对象中添加一个函数吗
- 使用javascript将动态表从一个html页面打印到另一个html页
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 表追加而不附加最后一个元素
- 我如何找到一个句子中的所有空格并替换忽略它们
- D3在一个调用中绘制不同的SVG形状,没有可见性
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用类从一个标记中双击事件
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何传输文本,音频&使用Webrtc数据通道从一个对等端到另一个对等点的图像文件
- 将javascript对象从一个通道传递到另一个通道
- 使用通道谷歌应用程序引擎从一个chrome扩展
- 如何启动一个基本的WebRTC数据通道