1
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)

グラインダー ツールを使用して、jython スクリプトから Java のイベント関数を呼び出しています。

4

2 に答える 2

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ように定義できます。

于 2012-09-11T09:22:53.693 に答える
0

ペア、キー、またはエラーのmyDict.items()代わりにmyDict値を明示的に渡す必要があります...KeyValuemyDict.keys()myDict.values()

于 2012-09-11T09:11:20.727 に答える