Android解析Json三种方式
来源:互联网 发布:淘宝客推广会亏本吗 编辑:程序博客网 时间:2024/06/08 08:55
后台返回的数据可能是XML或是Json。昨天研究了解析XML,今天来试试Json.在现在Json用的比以前要普遍。
不管是从界面上的用户体验感还是在资源消耗上,Json都有了较大的优势。今天试试三种方式解析
一.原生态解析Json,代码如下:
URL url=new URL(getString(R.string.server_name)+"person.json");HttpURLConnection connection= (HttpURLConnection) url.openConnection();connection.setRequestMethod("GET");connection.setConnectTimeout(5000);int code=connection.getResponseCode();if (code==200){InputStream is=connection.getInputStream();BufferedReader br=new BufferedReader(new InputStreamReader(is));String str=null;StringBuffer stringBuffer=new StringBuffer();while((str=br.readLine())!=null){stringBuffer.append(str);}
//原生态解析json// JSONObject jsonObject=new JSONObject(stringBuffer.toString());// int list=jsonObject.getInt("list");// Log.i("test","长度:"+list);// JSONArray jsonArray=jsonObject.getJSONArray("persons");// for (int i = 0; i < jsonArray.length(); i++) {// JSONObject object=jsonArray.getJSONObject(i);// int pid=object.getInt("pid");// String pname=object.getString("pname");// int page=object.getInt("page");// Log.i("test",pid+" "+page+" "+pname);// }
至于其他配置网络环境,获取Json文件数据参看昨天博客代码。
二. Gson解析Json.这个需要添加jar包,右击项目,然后如图
联网下载,也可自己手动导入jar包,接下来写代码。须得创立两个尸体类。一个装其中的大对象,另一个装其中一个对象中的各小对象,注意的json文件中的每一个对象名一致
//Gson解析Json// Gson gson=new Gson();// BigPerson bigPerson=gson.fromJson(stringBuffer.toString(),BigPerson.class);// Log.i("test",bigPerson.getList()+"");//// List<SmallPerson> persons=bigPerson.getPersons();// for (SmallPerson person:persons){// Log.i("test",person.toString());// }
三.Fast解析Json,也要用到实体类
//Fast解析JsonBigPerson bigPerson=JSON.parseObject(stringBuffer.toString(),BigPerson.class);Log.i("test",bigPerson.getList()+"");List<SmallPerson> persons=bigPerson.getPersons();for (SmallPerson person:persons){ Log.i("test",person.toString());}
原生态做法更接近了解底层,Gson和Fast都有其自身封装好的方法只等我们去调用。相对来说后两种比较容易但我们都应该多练习,各有优点。
0 0
- Android---JSON的三种解析方式
- Android解析Json三种方式
- Android:解析JSON的三种方式
- Android 小功能 -- JSON的三种解析方式
- [Android学习]JSON的三种解析方式
- [Android学习]JSON的三种解析方式
- android 使用三种方式解析网络JSON
- Android之JSON的三种解析方式
- [Android学习]JSON的三种解析方式
- Android中解析json数据的三种方式
- Andorid解析json的三种方式
- JSON的三种解析方式
- JSON解析的三种方式
- 解析JSON的三种方式
- JSON的三种解析方式
- 安卓 三种方式解析json
- JSON的三种解析方式
- Json解析的三种方式
- Linux PCB:task_struct
- 移动端布局
- MemCache超详细解读
- Java代码优化(长期更新)
- Laravel-5.1验证码mews captcha
- Android解析Json三种方式
- 对一致性Hash算法,Java代码实现的深入研究
- MaterialDesign之SVG
- 四元数定义三维旋转
- Hibernate中session的get和load方法的区别
- Tokenmissmatchexception
- 开会讨论,写一段scala 代码
- Android之使用SurfaceView制作简易写字板
- To Java程序员:切勿用普通for循环遍历LinkedList