Java用JSONObject-lib来解析json串
直接贴代码:(所需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(); } }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。