尝试迭代并打印记录器中的详细Resp数据
我使用流代码打印 xml 对象架构文件数据,以迭代并打印记录器中的对象数据值,但每次它仅打印哈希代码格式值。非常感谢您对我的询问的回复
示例响应数据:GetObjectDetailsResponse 详细信息响应:
<ns2:GetObjectDetailsResponse xmlns="http://../../schema">
<header>
...
</header>
<ns2:addressDetails>
...
</ns2:addressDetails>
<ns2:accountNumberList>
<accountNumber>123456789</accountNumber>
<accountType>Saving</accountType>
</ns2:accountNumberList>
</ns2:GetObjectDetailsResponse>
public class ExampleData {
public ObjectDetails processData(GetObjectDetailsResponse detailsResp){
value = processDetails(elementTag, index, detailsResp.getAccountNumberList());
detailsResp.getAccountNumberList().stream().forEach(item -> logDebug("print getAccountNumberList value--->" + item);
}
}
如果您只想以可读的日志形式输出 Java 对象,那么您的 Java 类中应该有一个
toString
方法,告诉它如何以 String
形式表示。
例如:
public class MyObject {
private String value1;
private String value2;
//...
@Override
public String toString() {
return "MyObject[value1=" + value1 + ";value2=" + value2 + "]";
}
}
如果您不想实现这个“虚拟”
toString
方法,您仍然可以依赖第3方库(例如来自apache commons-lang3的
ToStringBuilder
)
然后你就可以用一行代码来读取
ToStringBuilder.reflectionToString(object);