Android-解析json

在Android开发中,除了XML,json也是一种常用的数据传输格式,独立于语言和平台,比 XML 更小、更快,更易解析。如今JSON数据已经成为了互联网中大多数数据的传递方式,所以必须要熟练掌握。
解析json有三种:
1.Android原生态解析json
2.Gson解析json
3.FastJson解析json

解析实例:
首先通过从服务器获取json文件:

URL url=new URL("http://192.168.43.85:8080/test.xml");
            HttpURLConnection  connection= (HttpURLConnection) url.openConnection();
            //设置请求方式‘
            connection.setRequestMethod("GET");
            //设置请求连接超时的时间(优化)
            connection.setConnectTimeout(5000);
            //获得请求返回的结果码(200表示获取成功)
            int code=connection.getResponseCode();
                 //获取服务器返回过来的结果
                 InputStream is=connection.getInputStream(); 
  BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));
                    StringBuffer stringBuffer = new StringBuffer();
                    String  str=null;
                    //拼接成一个字符串
                    while ((str=bufferedReader.readLine()) != null) {
                        stringBuffer.append(str);
                    }

json文件中的内容:

{"listid":1,"list":[{"pid":1,"pname":"xiaoxiao","page":16},{"pid":2,"pname":"xiaoyue","page":17},{"pid":3,"pname":"xiexing","page":19}]}
1.Android原生态解析json
  JSONObject jsonObject = new JSONObject(stringBuffer.toString());
                    int id = jsonObject.getInt("listid");
                    JSONArray jsonArray = jsonObject.getJSONArray("list");
                    for (int i = 0; i < jsonArray.length(); i++) {
                        JSONObject object = jsonArray.getJSONObject(i);
                        person person2 = new person();
                        person2.setPid(object.getInt("pid"));
                        person2.setPname(object.getString("pname"));
                        person2.setPage(object.getInt("page"));
                        Log.i("ssss", person2.toString());
                    }
2.Gson解析json

http://code.google.com/p/google-gson/里有一个名为Gson的类库,可以用它来解析Json数据,并且,Adroid 3.0平台里其实也就是把这一部分直接整合进Android里了。我们要解析Json数据,直接去网站上下载个jar包,导入到工程里,就可以解析Json数据了。

              Gson gson = new Gson();
              persons persons = gson.fromJson(stringvuffer.toString(), persons.class);
                    List<person> list = persons.getList();
                    for (person person : list) {
                        Log.i("ssss", person.toString());
                    }
3.FastJson解析json

FastJson也要导入jar包,去网站上下载fastjaon的jar包,导入后即可。

//persons是自己定义的一个类,当中包含json中的所有键
             persons   persons1=JSON.parseObject(stringbuffer.toString(),persons.class);
                    List<person> list=persons1.getList();
                    for (person person : list) {
                        Log.i("ssss",person.toString());
                    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值