如从网络获取JSON 则需要创建一个工具类,该类返回一个字符串为JSON文本

package com.example.jsonapp;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Scanner; public class UrlHtmlUtil {
public static String getHtmlJsonByUrl(String urlTemp){
URL url = null;
InputStreamReader input = null;
HttpURLConnection conn;
// JSONObject jsonObj = null;
String a = null;
try {
url = new URL(urlTemp);
conn = (HttpURLConnection) url.openConnection();
input = new InputStreamReader(conn.getInputStream(),"utf-8");
Scanner inputStream = new Scanner(input);
StringBuffer sb = new StringBuffer();
while (inputStream.hasNext()) {
sb.append(inputStream.nextLine());
}
a=sb.toString(); } catch (Exception e) {
System.out.println(e.getMessage());
} return a; } }

然后将文本转为JSONArray,用JSONArray.optJSONObject()来获取JSONObject 对象,接下来便可解析

JSONArray array=new JSONArray(json);
Log.i("转换数组成功","");
for(int i=0;i<array.length();i++)
{
JSONObject jo = array.optJSONObject(i);
if(jo.getString("area").equals(cityName))
{
tv.setText("AQI指数:"+jo.getString("aqi")+"\n地区:"+jo.getString("area")
+"\n空气质量:"+jo.getString("quality")); break;}
if(i==array.length()-1){
tv.setText("抱歉,也并没有找到该城市");
}
}
public void enJson(String json){

		try {
JSONTokener jsonParser=new JSONTokener(json);
JSONObject aqi=(JSONObject)jsonParser.nextValue();
String aqistr,areastr,quastr,lvstr,timestr;
aqistr=aqi.getString("aqi");
areastr=aqi.getString("area");
quastr=aqi.getString("quality");
lvstr=levelToLevel(aqi.getString("level"));
timestr=timeToTime(aqi.getString("time")); tv.setText("地区:"+areastr+"\nAQI:"+aqistr+"\n空气质量:"+quastr+"\n小贴士:"+lvstr+"\n更新时间:"+timestr+"\n点我刷新数据"); }

Android下Json数据解析的更多相关文章

  1. Android系列---JSON数据解析

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  2. Android 之JSON数据解析

    (以下基本都是郭霖大神<第一行代码>中的知识) JSON数据与xml相比,优势在于体积更小,传输所需的流量少.但是缺点也很明显,就是语义性较差. 下面是一组JSON格式的数据. [{&qu ...

  3. Android关于JSON数据解析

    一.什么是json json(Javascript Object Notation)是一种轻量级的数据交换格式,相比于xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所以 ...

  4. Android 实现Json数据解析,并进行应用!

    从网站上获取数据然后再客户端进行解析是常见的数据交互.下面是常用的一些接口网址: webservice工厂接口 http://www.36wu.com 快递查询接口http://webservice. ...

  5. Android的JSON数据解析

    一. 使用原生方式解析 准备工作:准备一个布局文件,用来显示元数据与转换之后的数据 <?xml version="1.0" encoding="utf-8" ...

  6. Xamarin.Android下获取与解析JSON

    一.新建项目 1.新建一个Android项目,并命名为为NetJsonList 2.右击引用,选择添加引用,引用System.Json.dll 二.同步请求 既然是跨平台,我们自然不能按照java下的 ...

  7. Android网络之数据解析----使用Google Gson解析Json数据

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  8. Android 之 json数据的解析(jsonReader)

    json数据的解析相对而言,还是比较容易的,实现的代码也十分简单.这里用的是jsonReade方法来进行json数据解析. 1.在解析之前,大家需要知道什么是json数据. json数据存储的对象是无 ...

  9. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

随机推荐

  1. Android监听屏幕解锁和判断屏幕状态

    开发后台服务的时候经常需要对屏幕状态进行判断,如果是想要监听屏幕解锁事件,可以在配置里面注册action为 android.intent.action.USER_PRESENT的广播,则可以监听解锁事 ...

  2. javascript之内置函数

    1.常规函数 (1)alert函数:显示一个警告对话框,包括一个OK按钮. (2)confirm函数:显示一个确认对话框,包括OK.Cancel按钮. (3)escape函数:将字符转换成Unicod ...

  3. FORM当前状态分析

     变量  SYSTEM.RECORD_STATUS 确定当前记录状态.有四种返回值:CHANGED表示记录从数据库取来,并且该记录至少一个基表列被更新:INSERT表示给一个非取自数据库记录的基表 ...

  4. 剑指offer面试题4 替换空格(c)

  5. 深入浅出Tabhost+简单入门Demo

    小伙伴们在手机上逛淘宝的时候,会发现在淘宝的下面有个按钮,分别是首页.微淘.社区.购物车和我的淘宝,点击不同的按钮会跳转到不同的页面,目前小编所接手的这个项目,也需要用到类似这样的功能,小编就发挥网络 ...

  6. 【ShaderToy】基础篇之再谈抗锯齿(antialiasing,AA)

    写在前面 在之前的基础篇中,我们讲到了在绘制点线时如何处理边缘的锯齿,也就是使用smoothstep函数.而模糊参数是一些定值,或者是跟屏幕分辨率相关的数值,例如分辨率宽度的5%等等.但这种方法其实是 ...

  7. (SQL Server)有关T-SQL的10个好习惯

    转自 http://www.cnblogs.com/CareySon/archive/2012/10/11/2719598.html 1.在生产环境中不要出现Select * 这一点我想大家已经是比较 ...

  8. UNIX网络编程——基于UDP协议的网络程序

    一.下图是典型的UDP客户端/服务器通讯过程 下面依照通信流程,我们来实现一个UDP回射客户/服务器: #include <sys/types.h> #include <sys/so ...

  9. Cocos2D iOS之旅:如何写一个敲地鼠游戏(六):放置地鼠

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  10. 关于Java的移位运算符

    /** * 测试移位运算符<br/> * "<<" 左移 : 右侧补0<br/> * ">>" 带符号右移 : ...