我正在开发一个项目,该项目有一个围绕 java 代码的 python 包装器。因此,python 和 java 代码之间存在通信。(我知道 jython,但我们希望将每个实现分开。)
要从 python 到 java,我们传递一个字符串,如
{
"1-1": {
"Max Capacity (MB)": "393216",
"Current Capacity (MB)": "24576",
"Max Devices": "12",
"Populated": "12"
},
"1-3": {
"Max Capacity (MB)": "262144",
"Current Capacity (MB)": "8192",
"Max Devices": "32",
"Populated": "2"
},
"1-2": {
"Max Capacity (MB)": "393216",
"Current Capacity (MB)": "4096",
"Max Devices": "12",
"Populated": "1"
}
}
这是python中的一个dict,我们作为字符串传递给java代码。
java中是否有I库可以将python dict之类的字符串解析为java hash-map或等效的以便于遍历?
解决方案:
json解决方案有效。在 python 中使用 simplejson 将 dict 转换为 json 格式和 java gson 库。这是java部分:
import java.util.Map;
import java.lang.reflect.Type;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
public class ReadFromJson {
public static void main(String args[]) {
Type mapOfStringObjectType = new TypeToken<Map<String, Map<String,String>>>() {}.getType();
Gson gson = new Gson();
Map<String, Map<String,String>> obj = gson.fromJson(jsonStringToBeRead, mapOfStringObjectType);
System.out.println(obj);
}
}