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 ; @Override protected 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 ; } }