json-lib使用

来源:互联网 发布:42e5ers 网络直播 编辑:程序博客网 时间:2024/06/16 09:48

转自:http://log-cd.iteye.com/blog/469498

一、资源链接:

http://json-lib.sourceforge.net/
http://ezmorph.sourceforge.net/
http://morph.sourceforge.net/
http://www.json.org/javadoc/org/json/package-summary.html

二、例子
<span style="font-size:18px;">public class JsonUtil {/** * 从一个JSON 对象字符格式中得到一个java对象 说明:Bean的无参构造函数一定要写, 否则会报: * net.sf.json.JSONException: java.lang.NoSuchMethodException *  * @param jsonString * @param pojoCalss * @return */public static Object getObjectFromJsonString(String jsonString,Class pojoCalss) {Object pojo;JSONObject jsonObject = JSONObject.fromObject(jsonString);pojo = JSONObject.toBean(jsonObject, pojoCalss);return pojo;}/** * 将java对象转换成json字符串 *  * @param javaObj * @return */public static String getJsonStringFromObject(Object javaObj) {JSONObject json;json = JSONObject.fromObject(javaObj);return json.toString();}/** * 从json HASH表达式中获取一个map *  * @param jsonString * @return */@SuppressWarnings("unchecked")public static Map getMapFromJsonString(String jsonString) {JSONObject jsonObject = JSONObject.fromObject(jsonString);Iterator keyIter = jsonObject.keys();String key;Object value;Map valueMap = new HashMap();while (keyIter.hasNext()) {key = (String) keyIter.next();value = jsonObject.get(key);valueMap.put(key, value);}return valueMap;}/** * 从Map对象得到Json字串 *  * @param map * @return */public static String getJsonStringFromMap(Map map) {JSONObject json = JSONObject.fromObject(map);return json.toString();}/** * 从json字串中得到相应java数组 *  * @param jsonString *            like "[\"李斯\",100]" * @return */public static Object[] getObjectArrayFromJsonString(String jsonString) {JSONArray jsonArray = JSONArray.fromObject(jsonString);return jsonArray.toArray();}/** * 将list转换成Array *  * @param list * @return */public static Object[] getObjectArrayFromList(List list) {JSONArray jsonArray = JSONArray.fromObject(list);return jsonArray.toArray();}/** * 用JSONStringer构造一个JsonString *  * @param m * @return */public static String buildJsonString(Map m) {JSONStringer stringer = new JSONStringer();stringer.object();for (Object key : m.keySet()) {stringer.key((String) key).value((String)m.get(key));}stringer.key("phone");//begin nesting a arraystringer.array();stringer.value("13998098000");    stringer.value("8765432");    //nestring object in array    stringer.object();    stringer.key("ppcall");    stringer.value(53881);     stringer.endObject();    stringer.value("13990980980");    //end nesting a array    stringer.endArray();    stringer.endObject();return stringer.toString();}public static void printMap(Map map) {for (Object key : map.keySet()) {System.out.println(key + ":" + map.get(key));}}public static void main(String[] args) {Map m = new HashMap() {{put("JSon", "HelloWorld");put("Flex", "Ok");}};System.out.println(buildJsonString(m));System.out.println(new JSONStringer().object().key("JSON").value("Hello, World!").key("Flex").value("OK").endObject().toString());}}</span>


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 商业住房贷款利率 陕西省住房公积金管理中心 合肥住房公积金管理中心 长春市住房公积金 山东省住房城乡建设厅 2019各银行住房商贷利率一览表 住房公积金查询入口 陕西省住房和城乡建设厅网 沧州住房公积金个人查询入口 包头市住房公积金管理中心 佛山住房公积金中心 个人住房商业性贷款 住房公积金装修贷款能贷多少 邵阳住房公积金管理中心 工资4000住房公积金一般交多少 西安住房保障管理局网站 佛山住房公积金 住房城乡建设部 河南省住房和城乡建设厅网 北京住房公积金 广州住房公积金管理中心 西安住房公积金 成都住房公积金管理中心 宜春住房公积金 安徽省住房和城乡建设厅 四川城乡住房建设厅 陕西省住房公积金中心 深圳市住房和建设局 南宁市住房保障和房产管理局 住房公积金是什么 十堰住房公积金查询 广安住房公积金查询 枣庄住房公积金管理中心 南宁市住房公积金查询 陕西住房公积金查询网 南充市住房公积金管理中心 南宁住房公积金 晋中住房公积金查询个人账户 保定住房公积金查询 淮南市住房公积金查询 苏州市住房公积金管理中心