myDict = {'itemkey1':'itemvalue1', 'itemkey2':'itemkey2','itemkey3':'itemvalue3','itemkey4':'itemvalue4'};
event = portTest.event(myDict);
我收到以下错误
Aborted run: Jython exception: TypeError:arg can't be coerced to java.util.List
myDict
是键值数组。
我希望我在myDict
keyvalue[]
数据列表中传递正确的语法,因为它只是获得了键值对。
public Response event(KeyValue[] dataList)
我使用grinder工具从jython脚本调用java中的事件函数。
答案 0 :(得分:1)
您需要将字典转换为一系列键和值:
def chainDict(mapping):
items = []
for item in mapping.iteritems():
items.extend(item)
return items
event = portTest.event(chainDict(myDict))
这会将[keyFoo, valueFoo keyBar, valueBar]
的列表传递给event
方法,其中键和值按任意顺序配对。
如果您没有itertools
模块,chain
可以定义为:
答案 1 :(得分:0)
您需要明确传递myDict.items()
而不是myDict
用于KeyValue
对,myDict.keys()
用于密钥,或myDict.values()
用于err,值。