openweathermap.json
{"coord": {"lon": 114.0683, "lat":22.5455},"weather":[ {"id": 803, "main":"Clouds", "description":"多云", "icon":"04d"}],"base":"stations","main": {"temp": 299.1, "feels_like":299.1, "temp_min":296.39, "temp_max":300.29, "pressure":1018, "humidity":79, "sea_level":1018, "grnd_level":1017},"visibility":10000,"wind": {"speed": 2.73, "deg":137, "gust":3.32},"clouds": {"all": 82},"dt":1702530001,"sys": {"type": 2, "id":2031340, "country":"CN", "sunrise":1702508106, "sunset":1702546869},"timezone":28800,"id":1795565,"name":"Shenzhen","cod":200
}
实体类
/*** encoding: utf-8* 版权所有 2023 涂聚文有限公司* 许可信息查看:* 描述:* # Author : geovindu,Geovin Du 涂聚文.* # IDE : IntelliJ IDEA 2023.1 Java 17* # Datetime : 2023 - 2023/12/15 - 20:05* # User : geovindu* # Product : IntelliJ IDEA* # Project : javademo* # File : Wind.java 类* # explain : 学习**/package Model;import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.annotation.JsonProperty;/*** 风情况*/
public class Wind{/**** 风速*/public double speed;public int deg;public double gust;
}/*** encoding: utf-8* 版权所有 2023 涂聚文有限公司* 许可信息查看:* 描述:* # Author : geovindu,Geovin Du 涂聚文.* # IDE : IntelliJ IDEA 2023.1 Java 17* # Datetime : 2023 - 2023/12/15 - 20:04* # User : geovindu* # Product : IntelliJ IDEA* # Project : javademo* # File : Clouds.java 类* # explain : 学习**/package Model;import java.util.Arrays;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.annotation.JsonProperty;// import com.fasterxml.jackson.databind.ObjectMapper; // version 2.11.1
// import com.fasterxml.jackson.annotation.JsonProperty; // version 2.11.1
/* ObjectMapper om = new ObjectMapper();
Root root = om.readValue(myJsonString, Root.class); */
public class Clouds{public int all;
}/*** encoding: utf-8* 版权所有 2023 涂聚文有限公司* 许可信息查看:* 描述:* # Author : geovindu,Geovin Du 涂聚文.* # IDE : IntelliJ IDEA 2023.1 Java 17* # Datetime : 2023 - 2023/12/15 - 20:09* # User : geovindu* # Product : IntelliJ IDEA* # Project : javademo* # File : Coord.java 类* # explain : 学习**/package Model;import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.annotation.JsonProperty;
public class Coord{public double lon;public double lat;
}/*** encoding: utf-8* 版权所有 2023 涂聚文有限公司* 许可信息查看:* 描述:* # Author : geovindu,Geovin Du 涂聚文.* # IDE : IntelliJ IDEA 2023.1 Java 17* # Datetime : 2023 - 2023/12/15 - 20:07* # User : geovindu* # Product : IntelliJ IDEA* # Project : javademo* # File : Main.java 类* # explain : 学习**/package Model;import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.annotation.JsonProperty;/*** 气温情况*/
public class Main{/*** 温度 开尔文*/public double temp;/****/public double feels_like;/***最低温度 开尔文*/public double temp_min;/***最高温度 开尔文*/public double temp_max;/****/public int pressure;/***温度*/public int humidity;public int sea_level;public int grnd_level;
}/*** encoding: utf-8* 版权所有 2023 涂聚文有限公司* 许可信息查看:* 描述:* # Author : geovindu,Geovin Du 涂聚文.* # IDE : IntelliJ IDEA 2023.1 Java 17* # Datetime : 2023 - 2023/12/15 - 20:06* # User : geovindu* # Product : IntelliJ IDEA* # Project : javademo* # File : Sys.java 类* # explain : 学习**/package Model;public class Sys{public int type;public int id;/*** 国家名称*/public String country;/*** 日出时间戳*/public int sunrise;/*** 日落时间戳*/public int sunset;
}/*** encoding: utf-8* 版权所有 2023 涂聚文有限公司* 许可信息查看:* 描述:* # Author : geovindu,Geovin Du 涂聚文.* # IDE : IntelliJ IDEA 2023.1 Java 17* # Datetime : 2023 - 2023/12/15 - 20:05* # User : geovindu* # Product : IntelliJ IDEA* # Project : javademo* # File : Weather.java 类* # explain : 学习**/package Model;/*** 天气情况*/
public class Weather{public int id;public String main;/*** 天气*/public String description;/*** icon id 天气图标*/public String icon;
}/*** encoding: utf-8* 版权所有 2023 涂聚文有限公司* 许可信息查看:* 描述:* # Author : geovindu,Geovin Du 涂聚文.* # IDE : IntelliJ IDEA 2023.1 Java 17* # Datetime : 2023 - 2023/12/15 - 20:06* # User : geovindu* # Product : IntelliJ IDEA* # Project : javademo* # File : WeatherInfo.java 类* # explain : 学习**/package Model;import java.util.*;
import java.util.Arrays;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.annotation.JsonProperty;/*** 天气主体实体类*/
public class WeatherInfo{/*** 地球经纬度类*/public Coord coord;/****/public ArrayList<Weather> weather;public String base;public Main main;public int visibility;/*** 风*/public Wind wind;public Clouds clouds;public int dt;public Sys sys;public int timezone;public int id;public String name;public int cod;
}
调用:
import Common.Env;
import Common.JsonHelper;
import BLL.UserBll;
import Model.WeatherInfo;
import Common.LanguageList;
import Common.FileHelper;
import BLL.openWeatherMap;
import Common.TimeHelper;public class Main {/**** @param args*/public static void main(String[] args){System.out.println("Hello java language world! 涂聚文!");try {String json = "{\"contacDetails\": {\n" + // JSON text in the file is written here" \"firstName\": \"Ram\",\n"+ " \"lastName\": \"Sharma\"\n"+ " },\n"+ " \"phoneNumbers\": [\n"+ " {\n"+ " \"type\": \"home\",\n"+ " \"phone-number\": \"212 888-2365\",\n"+ " }\n"+ " ]"+ "}";// writing JSON to file:"JSONExample.json" in cwdPrintWriter pw = new PrintWriter("JSONExample.json");pw.write(json);pw.flush();pw.close();String fileurl=Paths.get("openweathermap.json").toString();File file = new File(fileurl);String strjson=FileHelper.ReaderMethod(file);//System.out.println(strjson);//Reader reader = Files.newBufferedReader(Paths.get("openweathermap.json"));ObjectMapper om = new ObjectMapper();WeatherInfo geovin = om.readValue(strjson, WeatherInfo.class);System.out.println("城市:"+ geovin.name);System.out.println("湿度:"+geovin.main.humidity + '%');System.out.println("天气:"+geovin.weather.get(0).description);System.out.println("日出:"+TimeHelper.gettime(geovin.sys.sunrise));System.out.println("日落:"+TimeHelper.gettime(geovin.sys.sunset));System.out.println("温度:"+TimeHelper.getKTC(geovin.main.temp));System.out.println("最低温度:"+TimeHelper.getKTC(geovin.main.temp_min));System.out.println("最高温度:"+TimeHelper.getKTC(geovin.main.temp_max));}catch (Exception ex){System.out.println(ex.getMessage());}System.out.println(LanguageList.zh_cn.getName());BLL.openWeatherMap weatherMap=new openWeatherMap();WeatherInfo geovindu=weatherMap.getObject("1795565");System.out.println("城市:"+ geovindu.name);System.out.println("湿度:"+geovindu.main.humidity + '%');System.out.println("天气:"+geovindu.weather.get(0).description);System.out.println("日出:"+TimeHelper.gettime(geovindu.sys.sunrise));System.out.println("日落:"+TimeHelper.gettime(geovindu.sys.sunset));System.out.println("温度:"+TimeHelper.getKTC(geovindu.main.temp));System.out.println("最低温度:"+TimeHelper.getKTC(geovindu.main.temp_min));System.out.println("最高温度:"+TimeHelper.getKTC(geovindu.main.temp_max));UserBll bll=new UserBll();UserBll.getCsvtoJson();UserBll.getUser();UserBll.getUserArry();UserBll.getWrite();System.out.println(Env.getEnv());System.out.println(Env.getColor());Env.getEnvList();}
}
输出: