java解析json字符串

需要到导入的包:

import net.sf.json.JSONArray;
import net.sf.json.JSONException;
import net.sf.json.JSONObject;

json格式: String json=“[{'first': 'one','next': 'two'},{'first': 'three','next': 'fore'},{'first': 'five','next': 'six'}]”;

//String json转List<Map>

public List json(String json){

  JSONArray jsonObject = JSONArray.fromObject(json);

  List<Map> list = new ArrayList<Map>();

  for (Iterator<Object> iterator = jsonObject.iterator(); iterator.hasNext();) {
            JSONObject job = (JSONObject) iterator.next();
            Iterator<Object> it = job.keys();
            Map<String,Object> map=new HashMap<String,Object>();
            while (it.hasNext()) {
                String i = (String) it.next();   // it.next()直接下面调用会报java.util.NoSuchElementException
                String key = String.valueOf(i);
                Object value = job.get(i);
                map.put(key, value);
            }
             list.add(map);
        }

  return list;

}

//获取 List<Map> 里面值

public void str(List<Map> list){

  for(int i=0;i<list.size();i++){
            Map<String,Object> map=new HashMap<String,Object>();
            map=list.get(i);
            String name= map.get("name").toString();//name为key值
            System.out.println("name:"+name);
      }

}

 

posted on 2017-04-18 21:06  之景  阅读(395)  评论(0)    收藏  举报

导航