• 聚合数据android天气预报json的读取


    前几天一直在做一个简单的android的简单的天气预报,但是在解析json的时候遇到一些问题,因为之前没有接触过json,所以这次做得时候首先查看了json的相关知识:

    首先、服务器端项目要导入json的jar包和json所依赖的jar包至builtPath路径下(这些可以到JSON-lib官网下载:http://json-lib.sourceforge.net/

    android的json解析部分都在包org.json下,主要有以下几个类: 

    JSONObject:可以看作是一个json对象,这是系统中有关JSON定义的基本单元,其包含一对儿(Key/Value)数值。它对外部(External:   应用toString()方法输出的数值)调用的响应体现为一个标准的字符串(例如:{"JSON": "Hello, World"},最外被大括号包裹,其中的Key和Value被冒号":"分隔)。其对于内部(Internal)行为的操作格式略微,例如:初始化一个JSONObject实例,引用内部的put()方法添加数值:new JSONObject().put("JSON", "Hello, World!"),在Key和Value之间是以逗号","分隔。Value的类型包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object 。

    JSONArray:它代表一组有序的数值。将其转换为String输出(toString)所表现的形式是用方括号包裹,数值以逗号”,”分隔(例如:  [value1,value2,value3],大家可以亲自利用简短的代码更加直观的了解其格式)。这个类的内部同样具有查询行为, get()和opt()两种方法都可以通过index索引返回指定的数值,put()方法用来添加或者替换数值。同样这个类的value类型可以包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object。

    json主要就是json对象和json数组之间的转换;

    下面就开始解析 聚合数据 天气预报的数据了(我解析的是 某地 第二天的天气):

    JSONObject jsonobject= new JSONObject(jsonData);
        		JSONObject result = jsonobject.getJSONObject("result");
        		JSONObject data = result.getJSONObject("data");
        		
        		String weather = data.getString("weather");
        		JSONArray jsonArray = new JSONArray(weather);
        		
    	        JSONObject jsonObject = jsonArray.getJSONObject(1);
    	        
    	        JSONObject info2 = jsonObject.getJSONObject("info");
    	        
    			date = jsonObject.getString("date");
    			info =  info2.getString("day");
    			
    		
    			String [] stringArr= info.split(",");  //注意分隔符是需要转译滴...
    			
    			temp1 = stringArr[0];
    			weather1 = stringArr[1];
    			temp2 = stringArr[2];
    
  • 相关阅读:
    Oracle记录-Linux JDK与Oracle profile环境配置
    MySQL记录-Lost Connect MySQL Server during query解决方案
    Hive记录-配置远程连接(JAVA/beeline)
    CM记录-Hadoop 分布式文件系统HDFS(登录、配置、监控)
    currentStyle
    封装用className选元素
    event
    jQuery全局函数
    ajax请求
    [Swift-2019力扣杯春季决赛]1. 有序数组中的缺失元素
  • 原文地址:https://www.cnblogs.com/penger/p/4179887.html
Copyright © 2020-2023  润新知