Как увидеть содержимое массива JavaScript, включая объекты, в разделе источника канала в Mirth Connect

У меня есть массив 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)  //??

Теперь я не смог увидеть содержимое объектов Array1 с помощью logger.info() в журнале сервера, расположенном под экраном панели управления.

Есть какие-то решения или хитрость, чтобы сделать это?

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")),           
    }
  ]
}
Другие вопросы по тегам