Worklight Javascript适配器:无法检索作为参数传递给适配器的数组值

Worklight Javascript Adapter: Unable to retrieve array value passed as parameter to adapter

本文关键字:适配器 参数传递 数组 检索 Javascript Worklight      更新时间:2024-05-28

我将数组传递给Worklight适配器,但无法检索数组中的值。

在我的impl.js文件中,我创建了一个函数,比如:

function getlist(list) {
   ...
}

list是一个数组。在我的适配器中,我尝试输出值。

WL.Logger.info(list);
WL.Logger.info(list.arr);

它的输出类似于:

[INFO    ] {
"arr": [
   {
     "a": "...",
     "b": "..."
   },
   {
     "a": "...",
    "b": "..."
  },
  {
    "a": "...",
    "b": "..."
  },
   ]
} [project test]
[INFO    ] undefined [project test]

我只是不明白。列表是第一个输出,这很好。然而,list.arr是第二个,它表示未定义。为什么list.arr未定义?

不知道出了什么问题。

WL版本:6.0.0.20130614-0631

您的列表参数是一个数组。然而,WL。Logger.*()必须始终是一个对象(由底层JS引擎强制要求)。因此,您的数组被转换为用于日志记录目的的对象。例如,如果您的列表对象是

[1,2,3]

WL。Logger.debug(列表)将是

{arr:[1,2,3]}

原始对象不会被修改,它将保持为一个数组。您仍然可以使用list[0]、list[1]等获取元素。