google-gson解析json數據---小實例

由於android SDK中提供的JsonReader在API level 3.0才支持,所以這裏採用google-gson提供的gson-2.0.jar來解析json數據.

gson-2.0.jar的下載地址爲: http://code.google.com/p/google-gson/downloads/list

1、JsonUtils.java源碼:

package com.android.hmr;

import java.io.IOException;
import java.io.StringReader;

import com.google.gson.stream.JsonReader;

public class JsonUtils {
 public void parseJson(String jsonData){
  JsonReader reader = new JsonReader(new StringReader(jsonData));
  try {
   reader.beginArray();
  while(reader.hasNext()){
   reader.beginObject();
   while(reader.hasNext()){
    String tagName = reader.nextName();
    if(tagName.equals("name")){
     System.out.println("name:" + reader.nextString());
    }
    else if(tagName.equals("age")){
     System.out.println("age:" + reader.nextInt());
    }
   }
   reader.endObject();
  }
  reader.endArray();
  }catch (IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 }
}

2、JsonActivity.java 源碼:

package com.broadvision;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class JsonActivity extends Activity {
 private Button btn = null;
 private String jsonData = "[{\"name\":\"muran hu\",\"age\":20},{\"name\":\"congyu xiang\",\"age\":20}]";
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn = (Button)findViewById(R.id.btn);
        btn.setOnClickListener(new btnOnClickListener());
    }
    
    private class btnOnClickListener implements OnClickListener{

  @Override
  public void onClick(View v) {
   // TODO Auto-generated method stub
   JsonUtils jsonUtils = new JsonUtils();
   jsonUtils.parseJson(jsonData);
  }
     
    }
}

頁面佈局很是簡單,一個Button就搞定,所以這裏沒有貼出頁面佈局XML代碼,相信您一定會搞定滴!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章