首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Json解析在Mirth或Json在Mirth或HL7到JSON在Mirth

Json解析在Mirth或Json在Mirth或HL7到JSON在Mirth
EN

Stack Overflow用户
提问于 2014-02-20 09:29:40
回答 4查看 17.7K关注 0票数 5

我希望使用JSON作为mirth通道的输入,并输出像details一样,在db中保存或创建HL7消息。

简而言之,输入作为JSON,将其解析,并以任何格式输出。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-02-20 09:29:40

代码语言:javascript
复制
var object = {};

//Create JSON Object from HL7 Message.
object.mrn = msg['PID']['PID.3']['PID.3.1'].toString();
object.firstName = msg['PID']['PID.5']['PID.5.2'].toString();
object.lastName = msg['PID']['PID.5']['PID.5.1'].toString();
object.dob = msg['PID']['PID.7']['PID.7.1'].toString();
object.ssn = msg['PID']['PID.19']['PID.19.1'].toString();

//Create string from JSON Object.
var objjson = JSON.stringify(object);
logger.info(objjson);

//Create Json Object From JSON string.
var tt = JSON.parse(objjson);

输出

代码语言:javascript
复制
{"mrn":"1001","firstName":"COLLEEN","lastName":"OHALLAHAN","dob":"19850704","ssn":"123456789"}

HL7Message样本

代码语言:javascript
复制
MSH|^~\&|ADT1|SHM|SHMADT|SHM|200812091126|SECURITY|ADT^A01^ADT_A01|MSG00001|P|2.5|
EVN|A01|200812091126||
PID|1|1001|1001^5^M11^ADT1^MR^SHM||OHALLAHAN^COLLEEN^^||19850704|F||2106-3|1200 N ELM STREET^^NEWPORT BEACH^CA^92660-1020^US^H|OC|(949) 555-1234|(949) 555-5678||S||PATID1001^2^M10^ADT1^AN^A|123456789|U1234567^CA|
NK1|1|OHALLAHAN^BRITTANY^M|SIS^SISTER||||N^NEXT-OF-KIN
PV1|1|I|2000^2012^01||||001122^ZOIDBERG^JOHN^|||SUR||||1|A0|
票数 6
EN

Stack Overflow用户

发布于 2015-07-17 09:16:42

我在解析这个页面,找到了你的代码Rikin。实际上,当您创建并显示对象时,它可能以JSON数据的形式出现在控制台中,当您查看输出时,它将是正常的XML驱动格式。但是,当您使用msg时,它代替了对象,如下所示:

代码语言:javascript
复制
msg = JSON.stringify(object); //converting msg into JSON object
logger.info("json data:" + msg); //displaying the JSOn message

您将在输出中找到正在修改的数据。

票数 4
EN

Stack Overflow用户

发布于 2014-03-19 10:36:10

如per@Debugger所示,如果有人想要json文件作为输入/源,那么尝试这个解决方案。

混浊通道

  • 入站数据类型作为分隔的文本
  • 出站DataType as Javascript

创建JavaScript目标类型,并在转换器中编写以下代码:

代码语言:javascript
复制
//Create Json Object From JSON string.
var objJson = JSON.parse(messageObject.getRawData());

logger.info(objJson.propertyName);

输入:

代码语言:javascript
复制
{"mrn":"1001","firstName":"COLLEEN","lastName":"OHALLAHAN","dob":"19850704","ssn":"123456789"}

输出:

代码语言:javascript
复制
logger.info(objJson.firstName);

COLLEEN

注:

对于Mirth 3.0+版本,请使用connectorMessage.getRawData()而不是messageObject.getRawData()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21903544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档