1.中央气象台api:


2.显示的json格式:

{"weatherinfo":{"city":"北京",
                              "cityid":"101010100",
                              "temp":"3",
                              "WD":"东北风",
                              "WS":"2级",
                              "SD":"60%",
                              "WSE":"2",
                              "time":"09:15",
                              "isRadar":"1",
                              "Radar":"JC_RADAR_AZ9010_JB"}
}

3.获取String类型的json格式数据(必须在libs目录下加入gson-2.2.2.jar)

String url = "http://www.weather.com.cn/data/sk/101010100.html";
		String jsonStr = getXmlString(url);

private String getXmlString(String path) {
		try {
			URL url = new URL(path);
			HttpURLConnection cn = (HttpURLConnection) url.openConnection();
			cn.setConnectTimeout(5 * 1000);
			cn.setRequestMethod("GET");
			InputStreamReader in = new InputStreamReader(cn.getInputStream());
			// 流的应用与读取
			BufferedReader bu = new BufferedReader(in);
			String line = bu.readLine().toString();
			System.out.println("流数据line========" + line);
			bu.close();
			in.close();
			return line;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("查询失败,请检查网络...");
			return null;
		}
	}

4.解析json得到数据:

String jsonStr = getXmlString(url);
		// 开始解析xml数据
		if (jsonStr == null) {
			GlobalConstant.i("nothing json data");
		} else {
			String strObj = new String(jsonStr);
			try {
				JSONObject jsonObject = new JSONObject(strObj);
				JSONObject root = jsonObject.getJSONObject("weatherinfo");
				String item1 = root.getString("city");
				GlobalConstant.i("item1--->" + item1);
			} catch (JSONException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				GlobalConstant.i("json err-->" + e);
			}
		}

5.输出结果:


GitHub 加速计划 / js / json
18
5
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:2 个月前 )
960b763e 5 个月前
8c391e04 8 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐