java调用python时传递的参数问题?

java使用runtime方式调用了python。
java端使用了map包装后转成jsonobject格式,再进行toString() 操作将Map转为STRING参数。
python端接收到的结果为{age:13,year:2019}
无法使用python 的json进行处理,因为少了双引号
请问各位大佬如何再不通过对其进行字符级别的操作情况下,将其转成json
ps:demjson.decode()报错了
最新回答
碍人

2024-11-02 15:08:37

需要用到需要用到jython.jar
java example:

public static void main(String[] args) {
//定义参数
String[] args2 = {"arg1","arg2"};
//设置参数
PythonInterpreter.initialize(null, null, args2);
PythonInterpreter interpreter = new PythonInterpreter();
//执行
interpreter.execfile("E:\\jython.py");
System.out.println("----------run over!----------");
}
python的程序:
#!/bin/env python
import time
import sys
argCount = len(sys.argv)
print('before sleep')
time.sleep(5);
print('after sleep')
for str in sys.argv:
print(str)