package org.lxh.demo;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.PrintStream;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import android.os.Bundle;import android.os.Environment;import android.widget.TextView;import android.app.Activity;public class MainActivity extends Activity {private TextView msg = null ;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);this.msg = (TextView)this.findViewById(R.id.msg) ; String str = "{\"memberdata\":[{\"id\":1,\"name\":\"lixinghua\",\"age\":31},"+"{\"id\":2,\"name\":\"mldn\",\"age\":10}],\"company\":\"MLDN\"}" ;StringBuffer buf = new StringBuffer() ; try {Map<String,Object> result = this.parseJson(str) ;buf.append("company: "+result.get("company")+"\n") ;@SuppressWarnings("unchecked")List<Map<String,Object>> all =( List<Map<String,Object>>) result.get("member") ;Iterator<Map<String,Object>> iter = all.iterator() ;while(iter.hasNext()){Map<String,Object> map = iter.next() ;buf.append("id: "+map.get("id")+"name: "+map.get("name")+"age:"+map.get("age")+"\n") ;}} catch (Exception e) {e.printStackTrace();} this.msg.setText(buf) ;}private Map<String,Object> parseJson (String data) throws Exception {JSONObject allData = new JSONObject(data) ;//全部的內容Map<String,Object> allMap = new HashMap<String,Object> ();allMap.put("company",allData.get("company")) ;JSONArray jsonArr = allData.getJSONArray("memberdata");//取出數組List<Map<String,Object>> all = new ArrayList<Map<String,Object>>() ;for (int x = 0;x<jsonArr.length() ; x ++){Map<String ,Object> map = new HashMap<String,Object> ();JSONObject jsonObj = jsonArr.getJSONObject(x) ;map.put("id", jsonObj.getInt("id") ) ;map.put("name", jsonObj.getString("name") ) ;map.put("age", jsonObj.getString("age") ) ;all.add(map) ;}allMap.put("member", all) ;//將list放到map中return allMap ;}}