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。
  • 相关阅读:
    PyQt 滚动条自动到最底部
    Python 装饰器示例,计算函数或方法执行时间
    pyuic5将.ui文件转为.py文件
    Python pyinstaller 参数
    Win+R 常用命令
    CODEVS 2171 棋盘覆盖
    P3924 康娜的线段树
    P1850 换教室
    U33405 纽约
    POJ
  • 原文地址:https://www.cnblogs.com/lovejoy/p/3372295.html
Copyright © 2011-2022 走看看