gpt4 book ai didi

java - 将 python dict 之类的字符串转换为 java hashmap

转载 作者:太空宇宙 更新时间:2023-11-03 19:04:33 26 4
gpt4 key购买 nike

我正在开发一个项目,该项目有一个围绕 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 中的一个字典,我们将其作为字符串传递给 java 代码。

java中是否有一个库可以将python dict之类的字符串解析为java HashMap 或等效的以便于遍历?

解决方案:

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);
}
}

最佳答案

I tried that but I am doing something like java -dname="TheAboveString" and retriving it by System.getProperty("name"), so not able to pass a well formed json.. – kmad 15 mins ago

...为什么要将它作为系统属性传递?

只需输入 JSON echo "TheAboveString"| java 并将其从标准输入转储到 JSON 解析器。使用 subprocess 应该会更容易一些并且更安全。模块。

关于java - 将 python dict 之类的字符串转换为 java hashmap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15079047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com