我有以下数据结构:
Map<String,String>
我希望从文件中读取此文件并使用它来填充 /*
* P values file
*/
String jsonTxt_P = null;
File P_Value_file = new File("properties-es.json");
//raed in the P values
if (P_Value_file.exists())
{
InputStream is = new FileInputStream("properties-es.json");
jsonTxt_P = IOUtils.toString(is);
}
//
Gson json_P = new Gson();
Map<String,String> massive_P_storage_map = new HashMap<String,String>();
massive_P_storage_map = (Map<String,String>) json_P.fromJson(jsonTxt_P, massive_Q_storage_map.getClass());
System.out.println(massive_P_storage_map);
类型的哈希图。
我尝试使用gson但是不成功,我觉得必须有一个更简单的方法。
也许我应该阅读它并使用模式匹配器或正则表达式将其拆分?
这是我一直在使用的代码:
Repeat
答案 0 :(得分:1)
这样做
BufferedReader reader = new BufferedReader(new FileReader(new File("properties-es.json")));
Map<String, HashMap<String, Object>> map =
new Gson().fromJson(reader, new TypeToken<HashMap<String, HashMap<String, Object>>>() {}.getType());
这是如何根据键名
获取值String value = (String) map.get("properties").get("P6");
System.out.println(value);