0

我有一个包含对象的 javascript 数组,并且数组包含 Mirth 3.5.1 中我的频道源中的一些对象。例如:

var sql= "SELECT prop1,prop2,prop3,prop4,prop5,prop6 from ANYTABLE";

var res = dbConn.executeCachedQuery(sql);

var Array1 = [];

Obj1 = {
  Prop1: res.getString("Prop1"),
  Prop2: res.getString("Prop2"),
  Prop3: res.getString("Prop2"),

  Array2:[
    {
      Prop4:res.getString("Prop4"),           
      Prop5:res.getString("Prop5"),           
      Prop6:res.getString("Prop6"),           
    }
  ]
}

Array1.push(Obj1);  

logger.info(Array1)  //??

现在,我无法在仪表板屏幕下方的服务器日志中使用 logger.info() 查看 Array1 对象的内容。

有什么解决方案或技巧吗?

4

1 回答 1

1

首先将其转换为字符串:

logger.info(JSON.stringify(Array1));

您可能还需要确保 JavaScript 中的所有对象而不是 Java 对象,因为 JSON.stringify 需要对象来实现 toJSON 方法。

Obj1 = {
  Prop1: String(res.getString("Prop1")),
  Prop2: String(res.getString("Prop2")),
  Prop3: String(res.getString("Prop3")),

  Array2: [
    {
      Prop4: String(res.getString("Prop4")),           
      Prop5: String(res.getString("Prop5")),           
      Prop6: String(res.getString("Prop6")),           
    }
  ]
}
于 2017-11-30T15:32:46.423 回答