java - 如何使用 JPOS ISO8583 消息格式通过传递字段名称来检索字段值

标签 java iso8583 jpos

我想通过传递字段名称来检索字段值。为了实现这一点,我实现了一个方法,该方法循环遍历 ISOMsg 对象,然后如果它找到与传递的字段名称匹配的匹配项,则返回。我的要求是读取 .xml 文件一次并使用该静态映射,然后在下次通过传递字段名称检索相应的值以实现此目的,是否有一种方法可以检索配置 xml 中的所有字段。

protected static void getISO8583ValueByFieldName(ISOMsg isoMsg, String fieldName) {

for (int i = 1; i <= isoMsg.getMaxField(); i++) {

  if (isoMsg.hasField(i)) {

    if (isoMsg.getPackager().getFieldDescription(isoMsg, i).equalsIgnoreCase(fieldName)) {
      System.out.println(
          "    FOUND FIELD -" + i + " : " + isoMsg.getString(i) + " " + isoMsg.getPackager()
              .getFieldDescription(isoMsg, i));
       break;

    } 
  } 
} 

}

最佳答案

您还可以使用映射到字段编号的字段名称定义枚举。 请注意,字段名称可能因打包程序而异,因此您的解决方案有点脆弱,最好使用枚举或仅使用常量。

关于java - 如何使用 JPOS ISO8583 消息格式通过传递字段名称来检索字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27499444/

相关文章:

java - 为什么 new Integer(i).hashCode() 会返回 i?

iso8583 - ISO8583 消息的标准模板

java - jPOS 无法从服务器接收 ISOMsg

java - Hibernate 两表一对象

java - 从 .txt 文件读取返回 "No line Found"

java - 从文本字段获取字符串

java - jPOS 记录器 :To add logger in packager

iso8583 - 使用 jpos 解压 ISO8583 版本 93

java - 使用 jpos api 打包 SUBFIELDS

java - jpos : cannot find control data "0x0D" when using isoMsg. getString(id) 方法