• 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。
  • 相关阅读:
    ionic -v2版本项目结构
    Ionic -v1初始项目结构
    Ionic创建混合App(一)
    basename函数不能获取url路径中文文件名的问题
    TP框架中的A方法和R方法
    TP框架中的M、D、C、I、A、S方法
    TP中如何去掉index.php
    利用vsftpd在Linux构建安全的FTP服务
    linux上使用netstat查看当前服务和监听端口
    juniper防火墙清空配置恢复出厂设置命令
  • 原文地址:https://www.cnblogs.com/lovejoy/p/3372295.html
Copyright © 2020-2023  润新知