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 cwd PrintWriter 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(); } }
輸出: