Android之解析Json数据

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。

Android中被广泛运用于客户端和网络(或者说服务器)通信。

JSON 表示名称 / 值对的方式

按照最简单的形式,可以用下面这样的 JSON 表示"名称 / 值对":

{ "name": "Brett", "lage":22,"sex": "女" } ,这表示了一个JsonObject。

[{name:"张三:",age:21,sex:"女"},{name:"李斯",age:21,sex:"女"},{name:"王五",age:21,sex:"女"}],使用中括弧表示JsonArray,是json对象数组。

一、解析第一种单个json对象的json数据。数据从网络上获取。演示实例为 查询手机号码归属地。

URL url;           StringBuffer sb = new StringBuffer();           String line = null;           try {               url = new URL(               "http://api.showji.com/Locating/default.aspx?m=13763089126&output=json&callback=querycallback");               HttpURLConnection conn = (HttpURLConnection) url.openConnection();               InputStream is = conn.getInputStream();               BufferedReader buffer = new BufferedReader(                       new InputStreamReader(is));               while ((line = buffer.readLine()) != null) {                   sb.append(line);               }              } catch (MalformedURLException e) {               e.printStackTrace();           } catch (IOException e) {               e.printStackTrace();           }  

此处获取的数据为:

querycallback({"Mobile":"13763******","QueryResult":"True","Province":"广东","City":"湛江","AreaCode":"0759","PostCode":"524000","Corp":"中国移动","Card":"GSM"});

需要截取这个json对象出来。

String js = sb.substring(sb.indexOf("{"), sb.indexOf("}") + 1);

下面函数解析json对象,返回一个Callerloc对象

Callerloc是一个实体类

private Callerloc parse(String json) {           Callerloc my = null;              if (json == null || json.length() < 1)               return null;           try {               my = new Callerloc();               JSONObject jsonobj = new JSONObject(json);  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyfpys.html