android json解析

1.将google-json.jar包导入到项目中,json.jar 下载:http://code.google.com/p/google-gson/

            下列代码用于JSON字符串转化为对象

public class JSONUtil<T>{
	private Class<T> clazz;
	private String jsonstring;
	public JSONUtil(Class<T> clazz,String jsonstring){
		this.clazz=clazz;
		this.jsonstring=jsonstring;
	}	
	public T parseJsontoT(){
		Gson gson=new Gson();
		T t=gson.fromJson(jsonstring,clazz);		
		return t;
	}
	public LinkedList<T> parseJsonToTs(){
		Type type=new TypeToken<LinkedList<T>>() {}.getType();
		Gson gson=new Gson();
		LinkedList<T> list=gson.fromJson(jsonstring, type);
		return list;
	}
	
	public static void main(String[] args) {
		
	}
}

            json字符串:{{"name":"zk","age":20},{"name":"joker","age":30}}

   这个json字符串是一个数组包含两个对象

public void parseJson(){
		JsonReader reader=new JsonReader(new StringReader(jsonstring));
		try {
			reader.beginArray();//开始解析数组,就是包含两个对象的那个大括号{{"name":"zk","age":20},{"name":"joker","age":30}}解析这个
			while (reader.hasNext()) { //查看其中包含没包含大括号"{}" 有的话继续
				reader.beginObject();//根据具体json字符串查看下个大括号是对象还是数组,显然这个字符串的数组中包含的就是个对象所以开始解析对象
				while (reader.hasNext()) { //将对象中的信息开始解析
					String tagName=reader.nextName();  //得到"标签名",就是键值对的键
					System.out.println(tagName);		
					System.out.println(reader.nextString()); //根据实际类型获得值
				}
				reader.endObject(); //结束一个对象
			}
			reader.endArray();			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}//
		
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值