本文实例讲述了AndroID解析JsON数据的方法。分享给大家供大家参考,具体如下:
JsON作为一种“轻量”的数据结构传递数据,在Js中有广泛的应用
Google公司对JsON的解析提供了gson.jar这个包,它不依赖于其他任何jar包;自从AndroID3.0中已经合入了该解析器的功能,但之前的版本是没有的。
findVIEwByID(R.ID.parseBtn).setonClickListener(new OnClickListener(){ @OverrIDe public voID onClick(VIEw v) { JsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]"; MainActivity.parseJson(JsonData); }});public static voID parseJson(String JsonStr){ //如果要解析JsON数据,首先要有一个JsonReader对象 JsonReader JsonReader = new JsonReader(new StringReader(JsonStr)); try { //开始遍历数组(多个JsON对象) JsonReader.beginArray(); while(JsonReader.hasNext()){ //开始遍历JsON对象(含有多个属性) JsonReader.beginobject(); while(JsonReader.hasNext()){ String tagname = JsonReader.nextname(); if(tagname.equals("name")){ System.out.println("name --> " + JsonReader.nextString()); }else if(tagname.equals("age")){ System.out.println("age --> " + JsonReader.nextString()); } } //遍历JsON对象结束 JsonReader.endobject(); } //遍历数组结束 JsonReader.endarray(); } catch (IOException e) { e.printstacktrace(); }}
将JsON格式转换为类的步骤如下:
//先定义一个类public class User { public String getname() { return name; } public voID setname(String name) { this.name = name; } public int getAge() { return age; } public voID setAge(int age) { this.age = age; }}//只将一组数据转换的方法findVIEwByID(R.ID.parSEObj).setonClickListener(new OnClickListener(){ @OverrIDe public voID onClick(VIEw v) { String JsonData = "{\"name\":\"Michael\",\"age\":20}"; Gson gson = new Gson(); User user = gson.fromJson(JsonData,User.class); System.out.println("name--->" + user.getname()); System.out.println("age---->" + user.getAge()); }});//将多组数据转换的方法findVIEwByID(R.ID.parSEObJs).setonClickListener(new OnClickListener(){ @OverrIDe public voID onClick(VIEw v) { String JsonData = "[{\"name\":\"Michael\",\"age\":21}]"; Type ListType = new Typetoken<linkedList<User>>(){}.getType(); Gson gson = new Gson(); linkedList<User> users = gson.fromJson(JsonData,ListType); for (Iterator iterator = users.iterator(); iterator.hasNext();) { User user = (User) iterator.next(); System.out.println("name--->" + user.getname()); System.out.println("age---->" + user.getAge()); } }});
更多关于AndroID相关内容感兴趣的读者可查看本站专题:《Android文件 *** 作技巧汇总》、《Android编程开发之SD卡 *** 作方法汇总》、《Android开发入门与进阶教程》、《Android资源 *** 作技巧汇总》、《Android视图View技巧总结》及《Android控件用法总结》
希望本文所述对大家AndroID程序设计有所帮助。
总结以上是内存溢出为你收集整理的Android解析JSON数据的方法分析全部内容,希望文章能够帮你解决Android解析JSON数据的方法分析所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)