我想通过传递字段名称来检索字段值。为了实现这一点,我实现了一个方法,该方法循环遍历 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/