zoukankan      html  css  js  c++  java
  • Json解析国家气象局天气API

    JSON(JavaScriptObject Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(StandardECMA-262 3rd Edition - December 1999)的一个子集。
    JSON概念很简单,就是服务器直接生成Javascript语句,客户端获取后直接用eval方法来获得这个对象,这样就可以省去解析XML的性损失。
    例如:中国气象局的天气API:http://www.weather.com.cn/data/cityinfo/101040100.html 就是一个Json格式。
    {"weatherinfo":{"city":"重庆",
                                       "cityid":"101040100",
                                       "temp1":"29℃",
                                       "temp2":"19℃",
                                       "weather":"晴转多云",
                                       "img1":"d0.gif",
                                       "img2":"n1.gif",
                                       "ptime":"11:00"}
    }
    

    1.HttpUrlConnection连接

                URL url = new URL(strUrl); 
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                                        InputStream is = conn.getInputStream(); // 获取输入流    
                byte[] data = readStream(is);   // 把输入流转换成字符数组    
                strResult = new String(data); // 把字符数组转换成字符串
    

    2.如何解析Json格式的数据 

           JSONObject jsonObj = new JSONObject(strResult).getJSONObject("weatherinfo");
                hightemp = jsonObj.getString("temp1");
                lowtemp = jsonObj.getString("temp2");
                city_ = jsonObj.getString("city");
                date_y = jsonObj.getString("ptime");
                weather = jsonObj.getString("weather");
                wea_img = jsonObj.getString("img1");
                wea_img_n = jsonObj.getString("img2");
    3.Json数据格式与Xml格式的比较
     
    ·可读性  JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。
    ·可扩展性  XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
    ·编码难度  XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不            借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
    ·解码难度  XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。
    ·流行度  XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。
  • 相关阅读:
    BadUSB 利用
    java 将函数作为参数传递
    odoo12 修行提升篇之 常用的高阶函数 (二)
    odoo12 修行提升篇之 异步定时任务 (一)
    odoo12 修行基础篇之 利用kanban做分析 点击跳转分析模型列表 (九)
    odoo12 修行基础篇之 kanban (八)
    odoo12 修行基础篇之 记录批处理 (七)
    odoo12 修行基础篇之 列表的筛选和分组 (六)
    odoo12 修行基础篇之 添加记录编码 (五)
    odoo12 修行基础篇之 添加工作流和操作记录 (四)
  • 原文地址:https://www.cnblogs.com/lovejoy/p/3372295.html
Copyright © 2011-2022 走看看