私は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コードに渡します。
文字列のようなPythondictをJavaハッシュマップまたは同等のものに解析して簡単にトラバーサルできるJavaライブラリはありますか?
解決:
jsonソリューションは機能しました。Pythonでsimplejsonを使用して、dictをjson形式とjavagsonライブラリに変換しました。これが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);
}
}