package com.zzk.cn;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.Enumeration;
import java.util.Properties;
import net.sf.json.JSONObject;
/**
*
* @author zhuzhengke
* @version 1.0.0
*
*/
public class Json {
static String info = "";
/*主函数*/
public static void main(String[] args) throws UnsupportedEncodingException {
//抓取网页
getInfo(101010100);
//解析字段
readJson();
}
/**
* 获取网页信息
*/
public static void getInfo(int id) {
String path = "http://m.weather.com.cn/data/"+id+".html";
URL url;
String inputline = "";
InputStream input = null;
InputStreamReader reader = null;
BufferedReader buffer = null;
try {
url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10 * 1000);
conn.setRequestMethod("GET");
input = conn.getInputStream();
reader = new InputStreamReader(input,"utf8");
buffer = new BufferedReader(reader);
while ((inputline = buffer.readLine()) != null) {
info += inputline;
}
} catch (ProtocolException e) {
e.printStackTrace();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
//关闭资源
try {
if (null != buffer) {
buffer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
buffer = null;
try {
if (null != reader) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
reader = null;
try {
if (null != input) {
input.close();
}
} catch (IOException e) {
e.printStackTrace();
}
input = null;
}
}
/**
* Json解析
*/
public static void readJson() {
JSONObject jsonob = JSONObject.fromObject((JSONObject.fromObject(info)
.getString("weatherinfo")));
String city = jsonob.getString("city");// 城市
System.out.println(city);
String date_y = jsonob.getString("date_y");// 时间
System.out.println(date_y);
String date = jsonob.getString("date");// 农历年
System.out.println(date);
String week = jsonob.getString("week");// 星期
System.out.println(week);
String cityid = jsonob.getString("cityid");// 城市号
System.out.println(cityid);
String temp1 = jsonob.getString("temp1");// 以下是六天内摄氏温度
System.out.println(temp1);
String temp2 = jsonob.getString("temp2");
System.out.println(temp2);
String temp3 = jsonob.getString("temp3");
System.out.println(temp3);
String temp4 = jsonob.getString("temp4");
System.out.println(temp4);
String temp5 = jsonob.getString("temp5");
System.out.println(temp5);
String temp6 = jsonob.getString("temp6");
System.out.println(temp6);
String tempF1 = jsonob.getString("tempF1");// 以下是六天内华氏温度
System.out.println(tempF1);
String tempF2 = jsonob.getString("tempF2");
System.out.println(tempF2);
String tempF3 = jsonob.getString("tempF3");
System.out.println(tempF3);
String tempF4 = jsonob.getString("tempF4");
System.out.println(tempF4);
String tempF5 = jsonob.getString("tempF5");
System.out.println(tempF5);
String tempF6 = jsonob.getString("tempF6");
System.out.println(tempF6);
String weather1 = jsonob.getString("weather1");// 以下是六天天气
System.out.println(weather1);
String weather2 = jsonob.getString("weather2");
System.out.println(weather2);
String weather3 = jsonob.getString("weather3");
System.out.println(weather3);
String weather4 = jsonob.getString("weather4");
System.out.println(weather4);
String weather5 = jsonob.getString("weather5");
System.out.println(weather5);
String weather6 = jsonob.getString("weather6");
System.out.println(weather6);
String wind1 = jsonob.getString("wind1");// 以下六天为风力
System.out.println(wind1);
String wind2 = jsonob.getString("wind2");
System.out.println(wind2);
String wind3 = jsonob.getString("wind3");
System.out.println(wind3);
String wind4 = jsonob.getString("wind4");
System.out.println(wind4);
String wind5 = jsonob.getString("wind5");
System.out.println(wind5);
String wind6 = jsonob.getString("wind6");
System.out.println(wind6);
String fl1 = jsonob.getString("fl1");// 以下为六天风级
System.out.println(fl1);
String fl2 = jsonob.getString("fl2");
System.out.println(fl2);
String fl3 = jsonob.getString("fl3");
System.out.println(fl3);
String fl4 = jsonob.getString("fl4");
System.out.println(fl4);
String fl5 = jsonob.getString("fl5");
System.out.println(fl5);
String fl6 = jsonob.getString("fl6");
System.out.println(fl6);
String index_d = jsonob.getString("index_d");// 当日穿衣指数
System.out.println(index_d);
}
}