JSON

Android学习笔记之Json的使用....(4)

字号+ 作者:H5之家 来源:H5之家 2016-01-15 17:03 我要评论( )

public static String loadJson (String url) {StringBuilder json = new StringBuilder(); try {URL urlObject = new URL(url);URLConnection uc = urlObject.openConnection();BufferedReader in = new BufferedR

public static String loadJson (String url) { StringBuilder json = new StringBuilder(); try { URL urlObject = new URL(url); URLConnection uc = urlObject.openConnection(); BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream())); String inputLine = null; while ( (inputLine = in.readLine()) != null) { json.append(inputLine); } in.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return json.toString(); }

  但是仅仅得到的是整个JSON的字符串,只是对整个结果集的一个处理,那么如何获取其中的各个属性呢?这才是至关重要的....

4.解析Json数据获取各个属性...

  下面就是获取每一个Json值,然后进行保存的一个过程...这里我采用JsonArray的方式,将Json数据转换成Json数组的形式...

  当然我们也可以使用Google官方为我们提供了Gson..调用其中内部的方法就能够获取各个属性信息...不过需要使用到其他的jar...这里我就不进行介绍了...使用Gson只需要调用一些方法其实就能搞定了....大家可以百度...

package json; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Json { /** * @param args main(String[] args) { // TODO Auto-generated method stub //这是一段Json数据...比如说就通过URL获取到的... String json="{''user'':" + "[ " + "{''userid'':''1'' , ''username'':''darker'' , ''userpassword'':''49681888''}," + "{''userid'':''2'' , ''username'':''darker_1'' , ''userpassword'':''49681888''}," + "{''userid'':''3'' , ''username'':''darker_2'' , ''userpassword'':''49681888''} " + "]" + "}"; //s字符串包含着每个字段的所有属性... String s[]=new String[]{"userid","username","userpassword"}; //以集合的方式,将数据信息进行保存... List<Map<String, Object>>list=new ArrayList<Map<String,Object>>(); /** * * 网上有很多方式是JSONObject jsonObject=new JSONObject(json);的方式来初始化对象... * 但是这种方式在我使用的json-lib-2.4版本下会直接报错... * 因此使用了fromObject方法进行对象的初始化... * * */ JSONObject jsonObject=JSONObject.fromObject(json); try { //将Json数据转化成数组的形式...user就是整个数组名称... JSONArray array=jsonObject.getJSONArray("user"); for(int i=0;i<array.size();i++){ /** * 这里使用了optXXX方法...目的是避免发生异常.. * 如果我们使用getXXX方法的话,那么key值就必须存在...一旦不存在就会异常... * 因此使用了optXXX方法... * */ /** * 下面这个对象保存的是这些数据...对应不同的i值...数据也就不同... * i=0; * * {''userid'':''1'' , ''username'':''darker'' , ''userpassword'':''49681888''} * * i=1 * * {''userid'':''2'' , ''username'':''darker_1'' , ''userpassword'':''49681888''} * * 以此类推... * */ JSONObject object= (JSONObject) array.opt(i); Map<String, Object>map=new HashMap<String, Object>(); for(String str:s){ //循环遍历,把所有的值都保存在Map中 //把object的值进行保存... map.put(str, object.get(str)); } //最后使用List保存Map list.add(map); } } catch (Exception e) { // TODO: handle exception } } }

  其实解析各个属性的思路还有很多,比如说我们获取到Json字符串之后,通过Java Bean进行转换...然后覆盖其中的toJsonString()方法...自然也可以获取到其中的各个属性...在实际的开发中Json数据有可能更加的复杂,但是我们只要根据具体数据进行具体分析,就能够从数据中获取各个属性,来完成更多的操作...

  比如说更复杂的...我们想要获取rect1中的所对应的数据信息...

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  •  JSON入门级学习总结-JSON数据结构

    JSON入门级学习总结-JSON数据结构

    2016-02-25 11:05

  • Android解析Json速度最快的库:json

    Android解析Json速度最快的库:json

    2016-02-13 18:00

  • ASP.NET Web API 2 返回 Json格式

    ASP.NET Web API 2 返回 Json格式

    2016-02-10 17:18

  • Android中JSON数据格式读取解析创建视频教程

    Android中JSON数据格式读取解析创建视频教程

    2016-02-05 19:00

网友点评
t