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

时间:2013-12-09 19:12:05

标签: javascript ibm-mobilefirst worklight-adapters

我将数组传递给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是第一个输出,很好。但是,list.arr是第二个,它表示未定义。为什么list.arr未定义?

不知道出了什么问题。

WL verison:6.0.0.20130614-0631

1 个答案:

答案 0 :(得分:1)

您的列表参数是一个数组。但是,WL.Logger。*()的输出必须始终是一个对象(由底层JS引擎强制执行)。因此,您的数组将转换为对象以进行日志记录。例如。如果您的列表对象是

[1,2,3]

WL.Logger.debug(列表)将是

{arr:[1,2,3]}

原始对象未被修改,它将保持为数组。您仍然可以使用列表[0],列表[1]等获取元素。