本文为随笔,非教程。

以下为两种做过的josn解析:

1.空气质量

josn数据如下:

{"data": {"info": [{"ID": "1", "UserID": "o8nWOuPNo9VJjTYvt73rmGZ8izQo", "Photos": "http://221.212.36.86/FreePhoto/pic/pic_2015_9_23 8_22_51.jpg", "Coords": "45.580705389,126.653267265", "Location": "黑龙江省哈尔滨市平房区平新镇阳光景区", "Evalution": "1", "DataTime": "2015/9/23 17:12:26", "UserType": "wx", "Audit": "True"}, {"ID": "2", "UserID": "o8nWOuPNo9VJjTYvt73rmGZ9izQo", "Photos": "http://221.212.36.86/FreePhoto/pic/pic_2015_9_23 8_22_51.jpg", "Coords": "45.584685805,126.646971827", "Location": "黑龙江省哈尔滨市平房区联盟街道建安小区", "Evalution": "2", "DataTime": "2015/9/24 17:12:26", "UserType": "wx", "Audit": "True"}, {"ID": "3", "UserID": "o8nWOuPNo9VJjTYvt73rmGZ10izQo", "Photos": "http://221.212.36.86/FreePhoto/pic/pic_2015_9_23 8_22_51.jpg", "Coords": "45.642942752,126.77627674", "Location": "黑龙江省哈尔滨市香坊区黎明街道东大嘉园", "Evalution": "3", "DataTime": "2015/9/25 17:12:26", "UserType": "wx", "Audit": "True"}]}
}

设以上josn串为   String strResult,解析方式:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
//解析多个数据的Json
//{}用JSONObject
//[]用jsonArray
private void parseJsonMulti(String strResult) {
    try {
        JSONObject jsonObject = new JSONObject(strResult).getJSONObject("data");
        JSONArray jsonArray=jsonObject.getJSONArray("info");
        for(int i=0;i<jsonArray.length();i++){
            JSONObject jo = (JSONObject)jsonArray.opt(i);
            String Photos=jo.getString("Photos");
            String DataTime=jo.getString("DataTime");
            String Evalution=jo.getString("Evalution");
            String UserID=jo.getString("UserID");
            String Coords=jo.getString("Coords");
            String Location=jo.getString("Location");
            String UserType=jo.getString("UserType");
            String pattern=",";                        //将经纬度分割
            Pattern pat= Pattern.compile(pattern);
            final String[] A=pat.split(Coords);
            Double Longitude=Double.valueOf(A[1]);
            Double Latitude=Double.valueOf(A[0]);
        }
    catch (JSONException e) {
        System.out.println("Jsons parse error !");
        e.printStackTrace();
    }
}

1.聚合数据PM2.1

josn数据如下:

有数据:

{"resultcode": "200", "reason": "SUCCESSED!", "result": [{"city": "哈尔滨", "PM2.5": "24", "AQI": "46", "quality": "优", "PM10": "48", "CO": "0.9", "NO2": "35", "O3": "9", "SO2": "8", "time": "2015-10-10 08:29:43"}], "error_code": 0
}

无数据:

{"resultcode": "202", "reason": "Does not exist in the city!", "result": [ ], "error_code": 203302
}
    

将以上josn串设为   String responseString

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
try {
    JSONObject jsonObj = new JSONObject(responseString);
    if(jsonObj.getInt("error_code")==0 ){
        Log.e("1","1");
        JSONObject jsonObject = new JSONObject(responseString);
        JSONArray jsonArray=jsonObject.getJSONArray("result");
        for(int i=0;i<jsonArray.length();i++) {
            JSONObject jo = (JSONObject) jsonArray.opt(i);
            String city = jo.getString("city");
            String PM25 = jo.getString("PM2.5");
            String AQI = jo.getString("AQI");
            String quality = jo.getString("quality");
            String PM10 = jo.getString("PM10");
            String CO = jo.getString("CO");
            String NO2 = jo.getString("NO2");
            String O3 = jo.getString("O3");
            String SO2 = jo.getString("SO2");
            String time = jo.getString("time");
            tv.setText("city:" + city + "\n" +
                        "PM2.5:" + PM25 +"\n"+
                        "AQI:" + AQI + "\n" +
                        "quality:" + quality + "\n" +
                        "PM10:" + PM10 + "\n" +
                        "CO:" + CO + "\n" +
                        "NO2:" + NO2 + "\n" +
                        "O3:" + O3 + "\n" +
                        "SO2:" + SO2 + "\n" +
                        "time:" + time + "\n");
        }
    }
    else{
        Log.e("1","2");
        v.setText("本地区暂无相关数据");
    }
catch (JSONException e) {
    System.out.println("Json parse error");
    e.printStackTrace();
    tv.setText("本地区暂无相关数据");
}

    

在线代码着色 http://tool.oschina.net/highlight

josn着色工具 http://www.bejson.com/color/

[android]使用android自带josn解析相关推荐

  1. android 之适配器与json对象解析技术的联用的进一步优化(解决图片错位)

    ListView优化的模型示意图 实例代码: 业务逻辑代码: package com.hsj.example.asyncloadxmldatademo08;import android.app.Pro ...

  2. android permission权限与安全机制解析(上)

    目录(?)[-] uses-permission 自定义permission permission标签 permission-tree标签 permission-group标签 安全机制 组件权限 权 ...

  3. Android 开源1:获取并解析网页信息(Jsoup)

    Android 开源1:获取并解析网页信息(Jsoup) Android 开源1获取并解析网页信息Jsoup 一程序功能 二程序界面 三程序知识点与创新点 四 总结 一.程序功能 本款APP主要是通过 ...

  4. Android自定义Activity切换动画完全解析

    Android自定义Activity切换动画完全解析 在Android开发中,Activity之间的切换是最常见的业务场景了,而且系统默认的Activity之间的切换都是带动画效果的(右进右出).但是 ...

  5. github上Android开源项目汇总(带效果图)

    第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...

  6. Android 常用开源框架源码解析 系列 (九)dagger2 呆哥兔 依赖注入库

    一.前言 依赖注入定义 目标类中所依赖的其他的类的初始化过程,不是通过手动编码的方式创建的. 是将其他的类已经初始化好的实例自动注入的目标类中. "依赖注入"也是面向对象编程的 设 ...

  7. 金九银十面试整理:BAT大厂最爱问的Android核心面试百题详细解析!

    Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发.这里会不断收集和更新Android基础相关的面试题 ...

  8. Android Glide 图片加载框架解析

    在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载框架,作者是  bumptech,这个库被广泛的应用在 Google 开源项目中,包括 2014 年 Google I/O ...

  9. 如何在线查看Android源码自带学习文档

          如何在线查看Android源码自带学习文档docs Android源码编译系列博客: Android.bp你真的了解吗 Android.bp入门指南之Android.mk转换成Androi ...

最新文章

  1. 事件相机特征跟踪-EKLT方法
  2. Python图像处理,cv2模块,OpenCV实现目标跟踪
  3. linux核能软件,ARM big.LITTLE大小核架构在Linux和Android内核下多核调度算法
  4. 从php+mysql环境的注入,到整台服务器的沦陷
  5. 设置ComboBox控件的小箭头颜色.
  6. Hadoop0.20.2版本在Ubuntu下安装和配置
  7. LeetCode 565. 数组嵌套
  8. python的pillow给图片加文字_Python-Pillow库给图片添加文字、水印
  9. Lambda 表达式详解~Streams API~规约操作
  10. 深度松下MTS视频恢复软件 v8.1.0
  11. AWS中国区同时上线两款新产品,补齐存储服务“全家桶”!
  12. 搭建ftp_Windows 10搭建FTP服务器!
  13. ViBe算法核心思想
  14. 扫地机器人不取出水箱可以吗_小米扫地机器人水箱不出水是怎么回事
  15. flask之session、cookie摘抄笔记
  16. Python基础第六天:函数进阶
  17. [SEO知识]如何通过SEO思维收割各大平台的流量?
  18. 墨西哥区域相关的西班牙语日期的处理方案。。
  19. java在线编译(JAVA编译过程)
  20. 有效需求分析培训梳理(一)

热门文章

  1. 部署openstack,nova hypervisor-list 未发现计算节点,重新发现下 计算节点
  2. 基础知识学习---牛客网C++面试宝典(五)C/C++基础之新特性
  3. Windows声音图标消失解决教程
  4. 项目Beta冲刺(团队)——05.25(3/7)
  5. kaggle入门(二)——Spaceship Titanic
  6. Auto.js 9版本全分辨率找图
  7. 前端之路:工具化与工程化
  8. 在人员数多的工厂适合应用人脸识别测温一体机吗?
  9. 个人永久性免费-Excel催化剂功能第20波-Excel与Sqlserver零门槛交互-数据上传篇
  10. 经典的进程同步问题详解