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();
}
}
输出: