【发布时间】:2019-09-25 09:57:06
【问题描述】:
从 Java 中的 HashMap 解析和访问 JSON 数据格式以下,以验证键与其值的映射。
以下是 JSON 字符串:
{
"Inputs": {
"TSVInput": {
"ColumnNames": ["Bearing_11", "Bearing_12", "Bearing_21", "Bearing_22", "Bearing_31", "Bearing_32", "Bearing_41", "Bearing_42"],
"Values": [[0.071, -0.054, 0.015, -0.144, -0.227, 0.012, -0.076, -0.073]]
}
},
"GlobalParameters": {}
}
以下源代码在访问特定文件时不进行映射并提供空值。我对如何解析这个嵌套的 JSON 数据感到困惑。
File file = null;
try {
BufferedReader br = new BufferedReader(new FileReader(fullFileName));
String readLine = "";
System.out.println("Reading file using Buffered Reader");
while ((readLine = br.readLine()) != null) {
//System.out.println(readLine);
String jsonString = readline;
//System.out.println(jsonString);
Gson gson = new Gson();
HashMap<String, Object> myMap = gson.fromJson(jsonString, new TypeToken<HashMap<String, Object>>(){}.getType());
System.out.println(myMap.get(1));
}
【问题讨论】:
-
myMap有字符串键并且您正在使用Integer访问它? -myMap.get(1) -
你想从 json 中得到什么值?
-
您是否要检查键为“Bearing_11”的哈希图中的值是否为 0.071 等等?
-
@pvpkiran 是的,我想检查每个字段的值,我已经修改了代码。