//使用了restTemplate获取String类型的json格式的数据
String weather = restTemplate.getForObject("http://t.weather.itboy.net/api/weather/city/101110101" , String.class);
//JSONObject.parseObject方法是用于将一个JSON字符串解析为JSONObject对象。
JSONObject jsonObject = JSONObject.parseObject(weather);
//Json格式的数据也于Map的格式相同,可以通过获取key得到value
JSONObject data = (JSONObject) jsonObject.get("data");
//getJSONArray方法是用于从一个JSONObject对象中获取指定字段对应的JSONArray对象
//在JSON数据中,JSONArray表示一个由多个元素组成的数组。而JSONObject则表示一个由键值对组成的对象。getJSONArray方法可以根据指定的字段名称,从JSONObject中获取对应的JSONArray对象。
/**
* 参数key是要获取的JSONArray对应的字段名称。如果该字段存在且对应的值是一个JSONArray,那么该方法会返回该JSONArray对象;否则,返回null。
* 例如,在下面的JSON数据中:
* {
* "name": "John",
* "age": 25,
* "hobbies": ["reading", "traveling", "photography"]
* }
* 我们可以使用getJSONArray方法来获取"hobbies"字段对应的JSONArray对象:
*/
JSONArray forecast = data.getJSONArray("forecast");
/**
* toJavaList(Weather.class):这是JSONArray对象的一个方法,用于将JSONArray转换为Java对象列表。
* 它接受一个Class类型的参数,表示要转换的目标对象类型。
* 在这里,forecast.toJavaList(Weather.class)将JSONArray对象forecast转换为一个Java对象列表,
* 其中每个元素都是一个Weather类的实例。
*/
List<Weather> javaList = forecast.toJavaList(Weather.class);
将Json数据转为List集合[学习记录]
最新推荐文章于 2024-03-16 11:06:18 发布