现在的位置: 首页 > 综合 > 正文

JSON解析-android平台4

2012年10月18日 ⁄ 综合 ⁄ 共 1967字 ⁄ 字号 评论关闭
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 ;		
	}
}

抱歉!评论已关闭.