如何在 smooks java 到 java 中编写从日期到日期的解码器
How to write decoder from date to date in smooks java to java
我正在使用 ObjectMapper 从 json 准备 Java 对象。这是 json 数据
"dateTimeSent" : "LongValue"
源和目标都 java 类 有字段是 java.util.Date 类型。
我试过这样映射
<jb:value property="dtSent" data="dateTimeSent" decoder="Date">
<jb:decodeParam name="format">EEE MMM dd HH:mm:ss z yyyy</jb:decodeParam>
</jb:value>
在文档中提到此解码器用于从字符串 encode/decode 到 java.util.Date。是我需要为此编写自定义解码器吗?如果是,请告诉我如何写。我是新手。
从字符串 encode/decode 到 java.util.Date/java.sql.Date/ java.util.Calendar/java.sql .Time/java.sql.Timestamp.我的用例,我必须从日期到日期解码。所以我在源代码 class 中使用 setter 和 getter 创建了另一个变量,例如 - private String modeifiedDateTimeSent
我在 smooks 中使用 modifiedDateTimeSent 变量进行映射-config.xml
<jb:value property="dtSent" data="modeifiedDateTimeSent" decoder="Date">
<jb:decodeParam name="format">yyyy-MM-dd HH:mm:ss</jb:decodeParam>
</jb:value>
接下来,我必须在映射 java class A 到 Class B 之前设置变量中的值。
Date modifiedDtTimeSent = order.getLr().getAdminSection().getDateTimeSent();
String modifiedDtTimeSentString = getDateAsString(modifiedDtTimeSent,"yyyy-MM-dd HH:mm:ss");
object.setModifieddatetimesent(modifiedDtTimeSentString);
然后最后,把你的 smooks java 转换成 java -
Smooks smooks = new Smooks("smooks-config.xml");
ExecutionContext executionContext = smooks.createExecutionContext();
JavaSource source = new JavaSource(object);
JavaResult result = new JavaResult();
smooks.filterSource(executionContext, source, result);
ConvertedClass cc = (IimLocalResponse) result.getBean("xyz");
希望这会有所帮助。
我正在使用 ObjectMapper 从 json 准备 Java 对象。这是 json 数据
"dateTimeSent" : "LongValue"
源和目标都 java 类 有字段是 java.util.Date 类型。 我试过这样映射
<jb:value property="dtSent" data="dateTimeSent" decoder="Date">
<jb:decodeParam name="format">EEE MMM dd HH:mm:ss z yyyy</jb:decodeParam>
</jb:value>
在文档中提到此解码器用于从字符串 encode/decode 到 java.util.Date。是我需要为此编写自定义解码器吗?如果是,请告诉我如何写。我是新手。
从字符串 encode/decode 到 java.util.Date/java.sql.Date/ java.util.Calendar/java.sql .Time/java.sql.Timestamp.我的用例,我必须从日期到日期解码。所以我在源代码 class 中使用 setter 和 getter 创建了另一个变量,例如 - private String modeifiedDateTimeSent
我在 smooks 中使用 modifiedDateTimeSent 变量进行映射-config.xml
<jb:value property="dtSent" data="modeifiedDateTimeSent" decoder="Date">
<jb:decodeParam name="format">yyyy-MM-dd HH:mm:ss</jb:decodeParam>
</jb:value>
接下来,我必须在映射 java class A 到 Class B 之前设置变量中的值。
Date modifiedDtTimeSent = order.getLr().getAdminSection().getDateTimeSent();
String modifiedDtTimeSentString = getDateAsString(modifiedDtTimeSent,"yyyy-MM-dd HH:mm:ss");
object.setModifieddatetimesent(modifiedDtTimeSentString);
然后最后,把你的 smooks java 转换成 java -
Smooks smooks = new Smooks("smooks-config.xml");
ExecutionContext executionContext = smooks.createExecutionContext();
JavaSource source = new JavaSource(object);
JavaResult result = new JavaResult();
smooks.filterSource(executionContext, source, result);
ConvertedClass cc = (IimLocalResponse) result.getBean("xyz");
希望这会有所帮助。