Java 从JSON文件中获取数据,另存为对象,并使用键值获取数据
我有一个JSON文件Java 从JSON文件中获取数据,另存为对象,并使用键值获取数据,java,arrays,json,key-value,json-simple,Java,Arrays,Json,Key Value,Json Simple,我有一个JSON文件 { "measurements": [ { "time": "100416", "temp": "7.64", }, { "time": "110416", "temp": " 7.76 ", }, { "time": "120416", "temp": " 7.86 ", } ] } 我需
{
"measurements": [
{
"time": "100416",
"temp": "7.64",
},
{
"time": "110416",
"temp": " 7.76 ",
},
{
"time": "120416",
"temp": " 7.86 ",
}
]
}
我需要将这些值保存为类对象或带有时间键值的Hashmap。然后,在键入时间(例如:120416)时,它将打印该时间的温度。我正在使用Netbeans
到目前为止,我就在这里。我可以打印阵列:
public class Weathers {
private static final String filePath = "C:\\measurements.json";
public static void main(String[] args) {
try {
FileReader reader = new FileReader(filePath);
JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);
JSONArray JArray = (JSONArray) jsonObject.get("measurements");
for (int i =0;i <JArray.size();i++)
{
System.out.println(JArray.get(i));
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
} catch (ParseException ex) {
ex.printStackTrace();
} catch (NullPointerException ex) {
ex.printStackTrace();
}
}
}
在哪里可以得到能够导入getInt和getDouble的.jar文件?您使用的是哪个json库?几乎所有json库都支持此功能。例如,我使用的是org.json.simple.JSONObject,它的用法非常简单,可以从json对象获取int和double。其他一切都可以工作,但不能得到int或double.write jsonArray.getjsonobject.getIntkey
Map<Integer, Double> map = new HashMap<Integer, Double>();
for (int i =0;i <JArray.size();i++)
{
map.put(JArray.get(i).getInt("time"),JArray.get(i).getDouble("temp"));
System.out.println(JArray.get(i));
}