android jsonreader

本文介绍了如何使用Java中的JsonReader和JSONArray进行JSON数据的解析。包括基本的键值对解析、数组解析以及更复杂的对象解析方法。

what's json---->    [{"name":"leeprison","age":"18"},{"name":"leeprison1","age":"19"}]

what's jsonarray-->  像上面的就有两个数组

what's jsonobject->就是上面的键值对,一个name对应着一个string

 

JsonReader
    String jsonData = "[{\"username\":\"LeePrison    \",\"userId\":\"001\"},{\"username\":\"LeePrison\",\"userId\":\"002\"}]";
        try{  
            JsonReader reader = new JsonReader(new StringReader(jsonData));  
            reader.beginArray();  
            while(reader.hasNext()){  
                reader.beginObject();  
                while(reader.hasNext()){  
                    String tagName = reader.nextName();  
                    if(tagName.equals("username")){  
                        System.out.println(reader.nextString());  
                    }  
                    else if(tagName.equals("userId")){  
                        System.out.println(reader.nextString());  
                    }  
                }  
                reader.endObject();  
            }  
            reader.endArray();  
        }  
        catch(Exception e){  
            e.printStackTrace();  
        } 

 

也有简单的,android对应不同复杂度的json数据类型提供不同的解析方式,其实还是分成jsonobject   jsonarray

type_one---》["name":"lee","age":"18"]

JsonObject
JSONObject jsonObject = new JSONObject(json);  
String name = jsonObject.getString("name");  
String age=jsonObject.getString("age");

type_two--->[{"name":"leeprison","age":"18"},{"name":"leeprison1","age":"19"}]  这种可以用jsonReader也可以下面的方式

jsonArray
try {  
            JSONArray jsonArray = new JSONArray(string);  
            for (int i = 0; i < jsonArray.length(); i++) {  
                jsonObject = jsonArray.getJSONObject(i);  
                String name = jsonObject.getString("name");  
                int age = jsonObject.getInt("age");  

            }  
        } catch (JSONException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
    }  

对于比较复杂的就是用list来读了~再说了

  

转载于:https://www.cnblogs.com/epirus/archive/2012/09/10/2678730.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值