日期:2014-05-16  浏览次数:20367 次

Gson对Json数据的处理
首先先下载最新的Gson包http://code.google.com/p/google-gson/

直接看例子. 如何处理Json数据
package com.cn;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;

import com.google.gson.Gson;

public class JsonActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    public void listtostring(View v){
    	Gson gson = new Gson();  
    	List<String> testList = new ArrayList<String>();  
    	testList.add("first");  
    	testList.add("second");  
    	String listToJson = gson.toJson(testList);  
    	System.out.println(listToJson);  
    	//prints ["first","second"]  
    	  
    	Map<String,String> testMap = new HashMap<String,String>();  
    	testMap.put("id", "id.first");  
    	testMap.put("name","name.second");  
    	String mapToJson = gson.toJson(testMap);  
    	System.out.println(mapToJson); 
    }
    public void stringtolist(View v){
    	Gson gson = new Gson();
    	List<TestBean> testBeanList = new ArrayList<TestBean>();  
    	TestBean testBean = new TestBean();  
    	testBean.setId("id");  
    	testBean.setName("name");  
    	testBeanList.add(testBean);  
    	   
    	java.lang.reflect.Type type = new com.google.gson.reflect.TypeToken<List<TestBean>>() {}.getType();  
    	String beanListToJson = gson.toJson(testBeanList,type);  
    	System.out.println(beanListToJson);  
    	//prints [{"id":"id","name":"name"}]  
    	   
    	List<TestBean> testBeanListFromJson = gson.fromJson(beanListToJson, type);  
    	System.out.println(testBeanListFromJson);
    }
}


TestBean.java
package com.cn;

public class TestBean {
	private String id;
	private String name;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}