大佬教程收集整理的这篇文章主要介绍了Android使用Gson解析嵌套的JsonArray,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
[ { "DivisionID": "2c0e9dc1-a6a7","DivisionName": "Qwerty","SubDivision": [ { "SubDivisionID": "70c3ac53-eec6","SubDivisionName": "QW123","Vehicle": [ { "Nopol": "00571564","Lastupdate": "Oct 10 2010 10:10AM","LastSpeed": 0,"LastLon": 106.82176,"LOCATIOn": "KNowHERE" },{ "Nopol": "352848020936627","Lastupdate": "Oct10201010: 10AM","LastLon": 10124.228,"LOCATIOn": "KNowHERE2" } ] } ] } ]
这就是我到目前为止的尝试方式.编辑:
public class Post { @@R_607_9464@lizedName("DivisionID") private String divisionid; @@R_607_9464@lizedName("DivisionName") private String divisionname; @@R_607_9464@lizedName("SubDivision") private ArrayList<SubDivision> subdivisions; public Post(String divisionid,String divisionName) { this.divisionid = divisionid; this.divisionname = divisionname; } // getter and setter ... public class SubDivision { @@R_607_9464@lizedName("SubDivisionID") private String subdivisionid; @@R_607_9464@lizedName("SubDivisionName") private String subdivisionname; @@R_607_9464@lizedName("Vehicle") private ArrayList<Vehicles> vehicles; public SubDivision (ArrayList<Vehicles> vehicles) { this.vehicles = vehicles; } // getter and setter ... public class Vehicles { @@R_607_9464@lizedName("Nopol") private String nopol; @@R_607_9464@lizedName("LastLon") private String lastlon; @@R_607_9464@lizedName("Lastupdate") private String lastupdate; @@R_607_9464@lizedName("LOCATIOn") private String LOCATIOn; public Vehicles(String nopol,String lastlon,String lastupdate,String LOCATIOn) { this.nopol = nopol; this.lastlon = lastlon; this.lastupdate = lastupdate; this.LOCATIOn = LOCATIOn; } // getter and setter ...
这是我解析它的方式.编辑:
Type listType = new TypeToken<ArrayList<Post>>(){}.getType(); beanPostArrayList = new GsonBuilder().create().fromJson(reader,listTypE); postList=new StringBuffer(); for(Post post: beanPostArrayList){ Log.d("topic asd: ",post.getDivisionid()+""); postList.append("\n id: "+post.getDivisionid()+ "\n divname: "+post.getDivisionname()); Type listType2 = new TypeToken<ArrayList<SubDivision>>(){}.getType(); SubdivarrayList = new GsonBuilder().create().fromJson(reader,listType2); postList2 = new StringBuffer(); for(SubDivision subdiv: SubdivarrayList){ postList.append("\n id: "+subdiv.getSubdivisionid()+ "\n subdivname: "+subdiv.getSubdivisionname()); Type listType3 = new TypeToken<ArrayList<Vehicles>>(){}.getType(); vehicleArrayList = new GsonBuilder().create().fromJson(reader,listType3); postList3 = new StringBuffer(); for(Vehicles vehic: vehicleArrayList){ postList.append("\n nopol: "+vehic.getNopol()+ "\n lastlon: "+vehic.getLastLon()+ "\n latupdate: "+vehic.getLastupdate()+ "\n LOCATIOn: "+vehic.getLOCATIOn()); } } } return null; } @Override protected void onPostExecute(Void aVoid) { super.onPostExecute(aVoid); progressDialog.dismiss(); txtPostList.setText(postList); txtSubdivList.setText(postList2); txtVehicList.setText(postList3); } }.execute();
问题是我不知道如何解析这个结构.我该怎么做?
public class Example { public static void main(String[] args) { String s = ""; // THE JSON FROM THE NETWORK Gson gson = new Gson(); Post[] posts = gson.fromJson(s,Post[].class); for( Post p : posts ){ System.out.println(posts.toString() ); } } public static class Post { @@R_607_9464@lizedName("DivisionID") String divisionId; @@R_607_9464@lizedName("DivisionName") String divisionName; @@R_607_9464@lizedName("SubDivision") List<SubDivision> subDivisions; } public static class SubDivision { @@R_607_9464@lizedName("SubDivisionID") String subDivisionId; @@R_607_9464@lizedName("SubDivisionName") String subDivisionName; @@R_607_9464@lizedName("Vehicle") List<Vehicle> vehicles; } public static class Vehicle { @@R_607_9464@lizedName("Nopol") String nopol; @@R_607_9464@lizedName("Lastupdate") String lastupdate; // should be a date! @@R_607_9464@lizedName("LastSpeed") String lastSpeed; @@R_607_9464@lizedName("LastLon") Double lastLon; @@R_607_9464@lizedName("LOCATIOn") String LOCATIOn; } }
以上是大佬教程为你收集整理的Android使用Gson解析嵌套的JsonArray全部内容,希望文章能够帮你解决Android使用Gson解析嵌套的JsonArray所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。