json数据解析

来源:互联网 发布:关于网络交易的法律 编辑:程序博客网 时间:2024/05/17 08:56

1.利用json解析后的数据,显示在窗口上

package com.example.json_test;

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.JSONException;import org.json.JSONObject;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.TextView;public class MainActivity extends Activity {private TextView  myview;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);this.myview=(TextView)super.findViewById(R.id.myview);StringBuffer buf=new StringBuffer();String str = "[{\"id\":1,\"name\":\"lixinghua\",\"age\":30},"+ "{\"id\":2,\"name\":\"MLDN\",\"age\":10}]";try {List<Map<String, Object>> all=this.praseJson(str);//与下面的方法操作//调用下面的方法,类型为泛型Iterator<Map<String , Object>> iter=all.iterator();//创建一个对象,//进行map迭代,这里把map看做是一个数组while(iter.hasNext()){//进行迭代,输入到buf对象中Map<String ,Object>map=iter.next();buf.append("id"+map.get("id")+",xingming"+map.get("name")+",nianling"+map.get("age"));}} catch (JSONException e) {// TODO Auto-generated catch blocke.printStackTrace();this.myview.setText(buf);//设置文本} }public  List<Map<String ,Object>> praseJson (String data) throws JSONException{//list泛型方法,生成一个对象利用子类接口生成一个对象List<Map<String ,Object>> all=new ArrayList<Map<String,Object>>();JSONArray jsonArr =new JSONArray(data);//对上面的json解析后的data数组数据进行操作,for (int i=0;i<jsonArr.length();i++){Map<String, Object> map=new HashMap<String, Object>();JSONObject jsonObj= jsonArr.getJSONObject(i);map.put("id", jsonObj.getInt("id"));map.put("name", jsonObj.get("name"));map.put("age", jsonObj.getInt("age"));all.add(map);}; return null; }}


0 0