【数据存储】JSON数据解析
2013-06-09 15:06
351 查看
import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.json.JSONArray; import org.json.JSONObject; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class MyJSONDemo extends Activity { private TextView msg = null ; @SuppressWarnings("unchecked") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.main); this.msg = (TextView) super.findViewById(R.id.msg) ; String str = "{\"memberdata\":[{\"id\":1,\"name\ ":\"李兴华\",\"age\":30},"+ "{\"id\":2,\"name\":\"MLDN\",\"age\":10}], \"company\":\"北京魔乐科技软件学院\"}"; StringBuffer buf = new StringBuffer() ; try { // 解析文本 Map<String, Object> result = this.parseJson(str) ; buf.append("公司名称:" + result.get("company") + "\n"); List<Map<String,Object>> all = (List<Map<String,Object>>) result.get("memberdata") ; Iterator<Map<String,Object>> iter = all.iterator() ; while(iter.hasNext()){ Map<String,Object> map = iter.next() ; buf.append("ID:" + map.get("id") + ",姓名:" + map.get("name") + ",年龄:" + map.get("age") + "\n"); } } catch (Exception e) { e.printStackTrace(); } this.msg.setText(buf) ; } private Map<String, Object> parseJson(String data) throws Exception { Map<String, Object> allMap = new HashMap<String, Object>(); // 全部的内容变为一个项 JSONObject allData = new JSONObject(data) ; // 取出项 allMap.put("company", allData.getString("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.getInt("age")); all.add(map); } allMap.put("memberdata", all) ; return allMap; } }
View Code
相关文章推荐
- [置顶] Android网络与数据存储03-在线请求天气API,并解析其中的json数据予以显示
- 【数据存储】——JSON的解析和生成
- XML/JSON解析数据,以及数据存储方式
- Android数据存储之JSON数据解析(读取部分)
- zTree联想终极篇-->将存储树形数据表封装成自定义TreeNode-->将自定义TreeNode解析成JSON树形字串
- java解析json数据及java对象存储
- Android数据存储之JSON数据解析(输出部分)
- Android数据存储——2.文件存储_F_解析JSON文档
- Android数据存储——2.文件存储_F_解析JSON文档
- Qt JSON数据解析和存储详解
- Android数据存储——2.文件存储_F_解析JSON文档
- Android网络与数据存储——网络编程数据处理(网络请求解析Json,解析xml)
- json存储数据与解析方式
- Android---Volley请求 Json解析 xUtils数据存储
- Android数据存储——2.文件存储_F_解析JSON文档
- Android数据存储——2.文件存储_F_解析JSON文档
- android 之 json数据解析
- 数据解析之JSON
- MySQL存储数据乱码的问题解析
- MySQL存储数据乱码的问题解析