android中json转换成List<Map>

来源:未知 责任编辑:智问网络 发表时间:2013-09-26 23:50 点击:

 

Java代码 

package cn.anycall; 

 

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; 

 

 

 

 

 

public class Test { 

 

    /**

     *   将json 数组转换为Map 对象

     * @param jsonString

     * @return

     */ 

    public static Map<String, Object> getMap(String jsonString) 

    { 

      JSONObject jsonObject; 

      try 

      { 

       jsonObject = new JSONObject(jsonString);   @SuppressWarnings("unchecked") 

       Iterator<String> keyIter = jsonObject.keys(); 

       String key; 

       Object value; 

       Map<String, Object> valueMap = new HashMap<String, Object>(); 

       while (keyIter.hasNext()) 

       { 

        key = (String) keyIter.next(); 

        value = jsonObject.get(key); 

        valueMap.put(key, value); 

       } 

       return valueMap; 

      } 

      catch (JSONException e) 

      {  

       e.printStackTrace(); 

      } 

      return null; 

    } 

 

    /**

     * 把json 转换为ArrayList 形式

     * @return

     */ 

    public static List<Map<String, Object>> getList(String jsonString) 

    { 

      List<Map<String, Object>> list = null; 

      try 

      { 

       JSONArray jsonArray = new JSONArray(jsonString); 

       JSONObject jsonObject; 

        list = new ArrayList<Map<String, Object>>(); 

       for (int i = 0; i < jsonArray.length(); i++) 

       { 

        jsonObject = jsonArray.getJSONObject(i); 

        list.add(getMap(jsonObject.toString())); 

       } 

      } 

      catch (Exception e) 

      { 

       e.printStackTrace(); 

      } 

      return list; 

    } 

 

     

     

     

    /**

     * @param args

     */ 

    public static void main(String[] args) { 

        // TODO Auto-generated method stub 

         

         

        String temp = "[{\"aa\":\"1\",\"bb\":\"2\"},{\"aa\":\"3\",\"bb\":\"4\"},{\"aa\":\"5\",\"bb\":\"6\"}]"; 

        List<Map<String, Object>> lm = Test.getList(temp); 

        for(int i=0;i<lm.size();i++){ 

            System.out.println(lm.get(i).get("aa")); 

            System.out.println(lm.get(i).get("bb")); 

        } 

    } 

 

}   

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Android 完全退出程序
    • 原创:Android应用开发-Andorid歌词秀,含源码
    • android 屏幕保护
    • Android手机软件汉化教程---第四课 dex文件汉化
    • 众多Android 开源项目推荐,给力工作给力学习
    • Android Audio代码分析4
    • Android得到已安装的应用程序信息!
    • Android开发者指南(29) —— USB Host and Accessory
    • Android成长的幕后推手:工程师鲁宾
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1