标签:blog io os java ar for div sp on
直接贴代码:(所需jar包:json-lib.jar,可能会关联一些其它的jar包,请自行搜索.)
import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonParser { @SuppressWarnings("rawtypes") public void test() { Map m = this.testJson("jsonString"); System.out.println(((Map) ((List) m.get("test")).get(0)).get("test_title")); } @SuppressWarnings({ "rawtypes", "unchecked" }) public Map testJson(String str) { JSONObject json = JSONObject.fromObject(str); Iterator<?> it = json.keySet().iterator(); Map map = new HashMap(); while (it.hasNext()) { String key = (String) it.next(); String value = json.getString(key); if (this.isString(value)) { map.put(key, value); } if (this.isJson(value)) { map.put(key, this.testJson(value)); } if (this.isJsonArray(value)) { map.put(key, this.testJsonArray(value)); } } return map; } @SuppressWarnings({ "unchecked", "rawtypes" }) public List testJsonArray(String str) { JSONArray jsonArr = JSONArray.fromObject(str); List list = new ArrayList(); for (Object json : jsonArr) { list.add(this.testJson(json.toString())); } return list; } public boolean isJson(String s) { boolean flag = true; try { JSONObject.fromObject(s); } catch (Exception e) { flag = false; } return flag; } public boolean isJsonArray(String s) { boolean flag = true; try { JSONArray.fromObject(s); } catch (Exception e) { flag = false; } return flag; } public boolean isString(String s) { return !this.isJson(s) && !this.isJsonArray(s); } public static void main(String[] args) { JsonParser tj = new JsonParser(); tj.test(); } }
标签:blog io os java ar for div sp on
原文地址:http://www.cnblogs.com/zhangfei/p/3992550.html