完成json反序列化。
This commit is contained in:
parent
5825b7a929
commit
479eb32f7e
@ -58,6 +58,7 @@
|
||||
<artifactId>jackson-annotations</artifactId>
|
||||
<version>2.9.8</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
<properties>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
|
@ -1,12 +1,31 @@
|
||||
import com.cpic.xim.disaster_warning.QWeatherDisasterWarning;
|
||||
import com.cpic.xim.disaster_warning.WeatherDisasterWarningGrabber;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class AppMain
|
||||
{
|
||||
public static void main( String[] args )
|
||||
{
|
||||
String cityCode = "101091103";
|
||||
String cityCode = "101230201";
|
||||
String json;
|
||||
QWeatherDisasterWarning warning;
|
||||
json = WeatherDisasterWarningGrabber.getWeatherDisasterWarningJSON( cityCode );
|
||||
//json = "{\"code\":\"200\",\"updateTime\":\"2022-03-17T15:46+08:00\",\"fxLink\":\"http://hfx.link/2qg5\",\"warning\":[{\"id\":\"10109110320220317152846295440963\",\"sender\":\"秦皇岛市气象台\",\"pubTime\":\"2022-03-17T15:28+08:00\",\"title\":\"秦皇岛市气象台更新大风蓝色预警[Ⅳ级/一般]\",\"status\":\"update\",\"level\":\"蓝色\",\"type\":\"1006\",\"typeName\":\"大风\",\"text\":\"秦皇岛市气象台2022年03月17日15时26分继续发布大风蓝色预警信号:预计今天下午到夜间,我市沿岸海域和沿海地区仍有东北风5~6级,阵风7~8级,其他地区4~5级,阵风6级,请防范。\",\"related\":\"10109110320220315152346034785400\",\"urgency\":\"\",\"certainty\":\"\"},{\"id\":\"10109110320220317111800391536363\",\"sender\":\"河北省气象台\",\"pubTime\":\"2022-03-17T11:18+08:00\",\"title\":\"河北省气象台更新寒潮黄色预警[Ⅲ级/较重]\",\"status\":\"update\",\"level\":\"黄色\",\"type\":\"1005\",\"typeName\":\"寒潮\",\"text\":\"河北省气象台2022年03月17日11时17分继续发布寒潮黄色预警信号:受冷空气影响,目前全省大部分地区最低气温已下降6~8℃,局地下降8~12℃,预计今天夜间到19日,全省仍有明显降温过程,大部分地区最低气温继续下降3~5℃,西北部地区局地下降8℃以上;18日到19日早晨,北部地区最低气温降至-15~-5℃,其中坝上地区降至-20~-15℃,其他地区降至-5~0℃。请防范!\",\"related\":\"10109110320220316110012116815176\",\"urgency\":\"\",\"certainty\":\"\"},{\"id\":\"10109110320220316154314834852572\",\"sender\":\"昌黎县气象台\",\"pubTime\":\"2022-03-16T15:43+08:00\",\"title\":\"昌黎县气象台更新寒潮蓝色预警[Ⅳ级/一般]\",\"status\":\"update\",\"level\":\"蓝色\",\"type\":\"1005\",\"typeName\":\"寒潮\",\"text\":\"昌黎县气象台2022年03月16日15时39分继续发布寒潮蓝色预警信号:受冷空气影响,预计今天下午到18日,我县平均气温将继续下降6-8℃,17日白天最高气温为3℃,18日早晨最低气温可达-5℃,请防范。\",\"related\":\"10109110320220315155452789394523\",\"urgency\":\"\",\"certainty\":\"\"}],\"refer\":{\"sources\":[\"12379\"],\"license\":[\"no commercial use\"]}}";
|
||||
|
||||
WeatherDisasterWarningGrabber.getWeatherDisasterWarningJSON( cityCode );
|
||||
if ( json.isEmpty() == true )
|
||||
{
|
||||
System.out.println( "获取天气信息失败!" );
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
warning = WeatherDisasterWarningGrabber.convertWeatherDisasterWarning( json );
|
||||
}
|
||||
catch ( IOException error )
|
||||
{
|
||||
error.printStackTrace();
|
||||
}
|
||||
|
||||
System.out.println( "1111" );
|
||||
}
|
||||
|
@ -6,17 +6,19 @@ public class QWeatherDisasterWarning
|
||||
{
|
||||
public QWeatherDisasterWarning( String code,
|
||||
String updateTime,
|
||||
String flLink,
|
||||
String fxLink,
|
||||
Vector<QWeatherDisasterWarningItem> warning,
|
||||
QWeatherDisasterWarningRefer refer )
|
||||
{
|
||||
this.code = code;
|
||||
this.updateTime = updateTime;
|
||||
this.flLink = flLink;
|
||||
this.fxLink = fxLink;
|
||||
this.warning = warning;
|
||||
this.refer = refer;
|
||||
}
|
||||
|
||||
public QWeatherDisasterWarning() {}
|
||||
|
||||
public String getCode()
|
||||
{
|
||||
return code;
|
||||
@ -37,14 +39,14 @@ public class QWeatherDisasterWarning
|
||||
this.updateTime = updateTime;
|
||||
}
|
||||
|
||||
public String getFlLink()
|
||||
public String getFxLink()
|
||||
{
|
||||
return flLink;
|
||||
return fxLink;
|
||||
}
|
||||
|
||||
public void setFlLink( String flLink )
|
||||
public void setFxLink( String fxLink )
|
||||
{
|
||||
this.flLink = flLink;
|
||||
this.fxLink = fxLink;
|
||||
}
|
||||
|
||||
public Vector<QWeatherDisasterWarningItem> getWarning()
|
||||
@ -69,7 +71,7 @@ public class QWeatherDisasterWarning
|
||||
|
||||
private String code;
|
||||
private String updateTime;
|
||||
private String flLink;
|
||||
private String fxLink;
|
||||
private Vector<QWeatherDisasterWarningItem> warning;
|
||||
private QWeatherDisasterWarningRefer refer;
|
||||
}
|
||||
|
@ -2,8 +2,12 @@ package com.cpic.xim.disaster_warning;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
public class QWeatherDisasterWarningItem
|
||||
{
|
||||
public QWeatherDisasterWarningItem() {}
|
||||
public QWeatherDisasterWarningItem( String id,
|
||||
String sender,
|
||||
String pubTime,
|
||||
@ -14,7 +18,7 @@ public class QWeatherDisasterWarningItem
|
||||
String typeName,
|
||||
String text,
|
||||
String related,
|
||||
String urgency, String centainy )
|
||||
String urgency, String certainty )
|
||||
{
|
||||
this.id = id;
|
||||
this.sender = sender;
|
||||
@ -26,8 +30,8 @@ public class QWeatherDisasterWarningItem
|
||||
this.typeName = typeName;
|
||||
this.text = text;
|
||||
this.related = related;
|
||||
this.urgency = urgency;
|
||||
this.centainy = centainy;
|
||||
this.urgency = urgency;
|
||||
this.certainty = certainty;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -51,8 +55,8 @@ public class QWeatherDisasterWarningItem
|
||||
that.type ) && Objects.equals( typeName, that.typeName ) && Objects.equals( text,
|
||||
that.text ) && Objects.equals(
|
||||
related,
|
||||
that.related ) && Objects.equals( urgency, that.urgency ) && Objects.equals( centainy,
|
||||
that.centainy );
|
||||
that.related ) && Objects.equals( urgency, that.urgency ) && Objects.equals( certainty,
|
||||
that.certainty );
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -69,7 +73,7 @@ public class QWeatherDisasterWarningItem
|
||||
text,
|
||||
related,
|
||||
urgency,
|
||||
centainy );
|
||||
certainty );
|
||||
}
|
||||
|
||||
public String getId()
|
||||
@ -182,18 +186,19 @@ public class QWeatherDisasterWarningItem
|
||||
this.urgency = urgency;
|
||||
}
|
||||
|
||||
public String getCentainy()
|
||||
public String getCertainty()
|
||||
{
|
||||
return centainy;
|
||||
return certainty;
|
||||
}
|
||||
|
||||
public void setCentainy( String centainy )
|
||||
public void setCertainty( String certainty )
|
||||
{
|
||||
this.centainy = centainy;
|
||||
this.certainty = certainty;
|
||||
}
|
||||
|
||||
private String id;
|
||||
private String sender;
|
||||
@JsonFormat(pattern="yyyy-MM-dd'T'HH:mm")
|
||||
private String pubTime;
|
||||
private String title;
|
||||
private String status;
|
||||
@ -203,5 +208,5 @@ public class QWeatherDisasterWarningItem
|
||||
private String text;
|
||||
private String related;
|
||||
private String urgency;
|
||||
private String centainy;
|
||||
private String certainty;
|
||||
}
|
||||
|
@ -4,53 +4,28 @@ import java.util.Objects;
|
||||
|
||||
public class QWeatherDisasterWarningRefer
|
||||
{
|
||||
public QWeatherDisasterWarningRefer( String source, String license )
|
||||
public QWeatherDisasterWarningRefer() {}
|
||||
|
||||
public String[] getSources()
|
||||
{
|
||||
this.source = source;
|
||||
this.license = license;
|
||||
return sources;
|
||||
}
|
||||
|
||||
public String getSource()
|
||||
public void setSources( String[] sources )
|
||||
{
|
||||
return source;
|
||||
this.sources = sources;
|
||||
}
|
||||
|
||||
public void setSource( String source )
|
||||
{
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
public String getLicense()
|
||||
public String[] getLicense()
|
||||
{
|
||||
return license;
|
||||
}
|
||||
|
||||
public void setLicense( String license )
|
||||
public void setLicense( String[] license )
|
||||
{
|
||||
this.license = license;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals( Object o )
|
||||
{
|
||||
if ( this == o )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if ( o == null || getClass() != o.getClass() )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
QWeatherDisasterWarningRefer that = (QWeatherDisasterWarningRefer) o;
|
||||
return source.equals( that.source ) && license.equals( that.license );
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode()
|
||||
{
|
||||
return Objects.hash( source, license );
|
||||
}
|
||||
|
||||
private String source;
|
||||
private String license;
|
||||
private String[] sources;
|
||||
private String[] license;
|
||||
}
|
||||
|
@ -1,5 +1,7 @@
|
||||
package com.cpic.xim.disaster_warning;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
@ -107,4 +109,12 @@ public class WeatherDisasterWarningGrabber
|
||||
return json;
|
||||
}
|
||||
|
||||
public static QWeatherDisasterWarning convertWeatherDisasterWarning( String json )
|
||||
throws IOException
|
||||
{
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
QWeatherDisasterWarning warning = mapper.readValue( json, QWeatherDisasterWarning.class );
|
||||
|
||||
return warning;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user