pm2.5 的获取 java

//石家庄铁道大学    tbh     基于云计算的pm2.5监控系统,    通过  api 获取 pm2.5的数据

//PM2.5数据以经由互联网抓取各城市的PM 2.5等数据,或者直接调用部分网站开放的API接口获取各城市的PM2.5等数据,如www.pm25.in、等多个网站都开放了pm2.5的数据接口、天气等的实时查询API。

//包结构

//pm25.java

 1 package com.tbh.entity;
 2
 3 public class pm25 {
 4 //aqi指数
 5     private String aqi;
 6     //地域名称
 7     private String area;
 8     //颗粒物(粒径小于等于2.5μm)1小时平均
 9     private String  pm2_5;
10     //颗粒物(粒径小于等于2.5μm)24小时滑动平均
11     private String pm2_5_24h;
12     //监测点名称
13     private String position_name;
14     //首要污染物
15     private String primary_pollutant;
16     //空气质量指数类别,有“优、良、轻度污染、中度污染、重度污染、严重污染”6类
17     private String quality;
18     //监测点编码
19     private String station_code;
20     //数据发布的时间
21     private String time_point;
22     public String getAqi() {
23         return aqi;
24     }
25     public void setAqi(String aqi) {
26         this.aqi = aqi;
27     }
28     public String getArea() {
29         return area;
30     }
31     public void setArea(String area) {
32         this.area = area;
33     }
34     public String getPm2_5() {
35         return pm2_5;
36     }
37     public void setPm2_5(String pm2_5) {
38         this.pm2_5 = pm2_5;
39     }
40     public String getPm2_5_24h() {
41         return pm2_5_24h;
42     }
43     public void setPm2_5_24h(String pm2_5_24h) {
44         this.pm2_5_24h = pm2_5_24h;
45     }
46     public String getPosition_name() {
47         return position_name;
48     }
49     public void setPosition_name(String position_name) {
50         this.position_name = position_name;
51     }
52     public String getPrimary_pollutant() {
53         return primary_pollutant;
54     }
55     public void setPrimary_pollutant(String primary_pollutant) {
56         this.primary_pollutant = primary_pollutant;
57     }
58     public String getQuality() {
59         return quality;
60     }
61     public void setQuality(String quality) {
62         this.quality = quality;
63     }
64     public String getStation_code() {
65         return station_code;
66     }
67     public void setStation_code(String station_code) {
68         this.station_code = station_code;
69     }
70     public String getTime_point() {
71         return time_point;
72     }
73     public void setTime_point(String time_point) {
74         this.time_point = time_point;
75     }
76     @Override
77     public String toString() {
78         System.out.println( "pm25 [aqi=" + aqi + ", area=" + area + ", pm2_5=" + pm2_5
79                 + ", pm2_5_24h=" + pm2_5_24h + ", position_name="
80                 + position_name + ", primary_pollutant=" + primary_pollutant
81                 + ", quality=" + quality + ", station_code=" + station_code
82                 + ", time_point=" + time_point + "]");
83         return null;
84     }
85
86
87 }

//Pm25getjson.java

 1 package com.tbh.services;
 2
 3 import java.io.BufferedReader;
 4 import java.io.IOException;
 5 import java.io.InputStreamReader;
 6 import java.net.MalformedURLException;
 7 import java.net.URL;
 8 import java.net.URLConnection;
 9
10 public class Pm25getjson {
11
12     private String json;
13         public Pm25getjson(String url)
14         {
15              StringBuilder jsonbuilder = new StringBuilder();
16            try {
17                 URL urlObject = new URL(url);
18                 URLConnection uc = urlObject.openConnection();
19                 BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(), "UTF-8"));
20                 String inputLine = null;
21                 while ( (inputLine = in.readLine()) != null) {
22                     jsonbuilder.append(inputLine);
23                 }
24                 in.close();
25             } catch (MalformedURLException e) {
26                 e.printStackTrace();
27             } catch (IOException e) {
28                 e.printStackTrace();
29             }
30          json=jsonbuilder.toString();
31         }
32         public String getJson() {
33             return json;
34         }
35         public void setJson(String json) {
36             this.json = json;
37         }
38
39 }

//pm25service.java

 1 package com.tbh.services;
 2
 3 import org.json.JSONArray;
 4 import org.json.JSONException;
 5 import org.json.JSONObject;
 6
 7 import com.tbh.entity.pm25;
 8
 9
10 public class pm25service {
11
12
13
14
15     public pm25[] pm25arr_return(String url)
16     {
17
18          Pm25getjson a=new Pm25getjson(url);
19          String json=a.getJson();
20         JSONArray jsonArray = null;
21                     try {
22                         jsonArray = new JSONArray(json);
23                     } catch (JSONException e) {
24                         // TODO Auto-generated catch block
25                         e.printStackTrace();
26                     }
27                     int iSize = jsonArray.length();
28                     pm25[] pm25arr=new pm25[iSize];
29                     System.out.println("Size:" + iSize);
30                     for (int i = 0; i < iSize; i++) {
31                      pm25arr[i]=new pm25();
32
33                     try {
34                         System.out.println(jsonArray.getJSONObject(i).get("aqi").toString());
35                         pm25arr[i].setAqi(jsonArray.getJSONObject(i).get("aqi").toString());
36                     } catch (JSONException e) {
37                         // TODO Auto-generated catch block
38                         e.printStackTrace();
39                     }
40                     try {
41                         pm25arr[i].setArea(jsonArray.getJSONObject(i).get("area").toString());
42                     } catch (JSONException e) {
43                         // TODO Auto-generated catch block
44                         e.printStackTrace();
45                     }
46                     try {
47                         pm25arr[i].setPm2_5(jsonArray.getJSONObject(i).get("pm2_5").toString());
48                     } catch (JSONException e) {
49                         // TODO Auto-generated catch block
50                         e.printStackTrace();
51                     }
52                     try {
53                         pm25arr[i].setPm2_5_24h(jsonArray.getJSONObject(i).get("pm2_5_24h").toString());
54                     } catch (JSONException e) {
55                         // TODO Auto-generated catch block
56                         e.printStackTrace();
57                     }
58                     try {
59                         pm25arr[i].setPrimary_pollutant(jsonArray.getJSONObject(i).get("position_name").toString());
60                     } catch (JSONException e) {
61                         // TODO Auto-generated catch block
62                         e.printStackTrace();
63                     }
64                     try {
65                         pm25arr[i].setQuality(jsonArray.getJSONObject(i).get("quality").toString());
66                     } catch (JSONException e) {
67                         // TODO Auto-generated catch block
68                         e.printStackTrace();
69                     }
70                     try {
71                         pm25arr[i].setStation_code(jsonArray.getJSONObject(i).get("station_code").toString());
72                     } catch (JSONException e) {
73                         // TODO Auto-generated catch block
74                         e.printStackTrace();
75                     }
76                     try {
77                         pm25arr[i].setTime_point(jsonArray.getJSONObject(i).get("time_point").toString());
78                     } catch (JSONException e) {
79                         // TODO Auto-generated catch block
80                         e.printStackTrace();
81                     }
82
83
84                     }
85                     return pm25arr;
86
87
88
89
90
91
92
93
94
95
96     }
97
98 }

//pm25test.java

package com.tbh.test;

import com.tbh.entity.pm25;
import com.tbh.services.Pm25getjson;
import com.tbh.services.pm25service;

public class pm25test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
     String url = "http://www.pm25.in/api/querys/pm2_5.json?city=weinan&token=5j1znBVAsnSf5xQyNQyq";
        pm25service pm25services=new pm25service();
        pm25[] pm25entity=pm25services.pm25arr_return(url);
        for(int i=0;i<pm25entity.length;i++)
        {
        System.out.println(    pm25entity[i].getAqi());
        System.out.println(    pm25entity[i].getArea());
        System.out.println(    pm25entity[i].getPm2_5());
        System.out.println(    pm25entity[i].getPm2_5_24h());
        System.out.println(    pm25entity[i].getPosition_name());
        System.out.println(    pm25entity[i].getPrimary_pollutant());
        System.out.println(    pm25entity[i].getQuality());
        System.out.println(    pm25entity[i].getStation_code());
        System.out.println(    pm25entity[i].getTime_point());
            System.out.println();
        }
        /* Pm25getjson a=new Pm25getjson(url);

        System.out.println(a.getJson());*/
    }

}
时间: 2024-10-28 06:59:26

pm2.5 的获取 java的相关文章

获取java项目 classpath目录

this.getClass().getResource("/").getPath(); 从根目录获取载入文件: this.getClass().getResourceAsStream("/myshop.properties") 获取java项目 classpath目录,布布扣,bubuko.com

《获取java项目根目录 》

一 相对路径的获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目) String relativelyPath=System.getProperty("user.dir");  上述相对路径中,java项目中的文件是相对于项目的根目录 web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin) 二 类加载目录的获得(即当运行时某一类时获得其装载目录) 1.1)通用的方法一(不论是一般

获取java泛型参数类型

1.Type和Class的区别 简单来说,Class实现了Type接口. Type源码定义: package java.lang.reflect; /**  * Type is the common superinterface for all types in the Java  * programming language. These include raw types, parameterized types,  * array types, type variables and pri

如何通过抓包工具fiddler获取java程序的http请求

原文:如何通过抓包工具fiddler获取java程序的http请求 源代码下载地址:http://www.zuidaima.com/share/1550463683824640.htm 抓包工具fidder是一个很轻巧的可以获取浏览器,程序的http,https请求的软件. 百科地址:http://baike.baidu.com/view/868685.htm 官网地址:http://fiddler2.com/ firefox的fidder插件 而java程序需要设置proxy才能生效: Pro

获取Java系统相关信息

1 package com.test; 2 3 import java.util.Properties; 4 import java.util.Map.Entry; 5 6 import org.junit.Test; 7 8 public class SystemTest { 9 10 /** 11 * 获取Java系统相关信息 12 * @throws Exception 13 */ 14 @Test 15 public void testSys() throws Exception { 1

获取JAVA对象占用的内存大小

介绍两种获取JAVA对象内存大小的方法. 第一种:Instrumentation 简介: 使用java.lang.instrument 的Instrumentation来获取一个对象的内存大小.利用Instrumentation并且通过代理我们可以监测在JVM运行的程序的功能,它的原理是修改方法的字节码. 首先创建代理类 package com.dingtongblog.size; import java.lang.instrument.Instrumentation; public class

android NDK 实用学习-获取java端类及其类变量

近期为android 端项目包装一些c++代码,故学习ndk相关知识,现总结如下: 1,java与c++类型参照图: 2,此测试中使用的java类: 1 package com.dasea.test.core; 2 public class TestSetData { 3 // 主要是类ID和字段ID,方法ID的缓存 4 static { 5 OnNative(); 6 } 7 8 public native static void OnNative(); 9 10 public boolean

使用JVMTI获取Java多线程程序指令执行次序

使用JVMTI获取Java多线程程序指令执行次序 在Java多线程程序中,由于线程调度,指令间的次序在每次运行时都可能不相同,有时候,我们需要得到指令次序,用来分析程序的行为.这样细粒度的底层行为用一般方法很难完成,我们需要借助 JVM Tool Interface,即JVMTI,来帮助我们获取Java虚拟机执行时的信息.本文先介绍编写JVMTI程序的基本框架,然后介绍如何使用JVMTI来获取多线程程序中指令之间的次序. JVMTI简介 JVMTI是用于编写开发与监视工具的编程接口,使用它可以检

Jsp获取Java的对象(JavaBean)

Jsp获取Java的对象(JavaBean) Java代码片段: AuthReqBean authRep=new AuthReqBean(); authRep.setUserCode(usercode); authRep.setReportType(reporttype); authRep.setReportCode(reportcode) request.setAttribute("authRep", authRep); request.getRequestDispatcher(&q