zoukankan      html  css  js  c++  java
  • 玩转Web之Json(四)---json与(Object/List/Map)的相互转化

    在做web应用时,经常需要将json转化成Object/list/map或者将Object/List/map转化成json,通过简单封装可以在写代码是减轻很多负担。本文将给出json转化的一系列方法。 闲话不 多说,直接上代码:

    先是Object /List /Map转化为Json

        /* 功能      :将一个对象转成json数组
         * 参数      :object对象
         * return    :json数组
         * */
    	public String getJsonByJSONArrayFromObject(Object o) {
    		JSONArray json = JSONArray.fromObject(o); 
    		return json.toString();
    	}
         /* 功能     :将一个对象转成json对象
         * 参数      :object对象
         * return    :json对象
         * */
    	public String getJsonByBeanFromObject(Object o) {
    		JSONObject jsonObj = JSONObject.fromObject(o);
    		return jsonObj.toString();
    	}
    
        /* 功能      :将一个List转成json数组
         * 参数      :对象list
         * return    :json数组
         * 返回的格式: [{"password":"1234","username":"cxl"}]
         * */
    	public String getJsonByJSONArrayFromList(List list) {
    		JSONArray json = JSONArray.fromObject(list); 
    		return json.toString();
    	}
         /* 功能                     :将一个List转成json对象
         * 参数                     :对象list
         * return    :json对象
         * */
    	public String getJsonByJSONObjectFromList(List list) {
    		JSONObject jsonObj = new JSONObject();
    		for (int i = 0; i < list.size(); i++) {
    			jsonObj.put(list.get(i).toString(), list.get(i));
    		}
    		return jsonObj.toString();
    	}
        /* 功能      :将一个map转成json数组
         * 参数      :map
         * return    :json数组
         * */
    	public String getJsonByJSONArrayFromMap(Map map) {
    		JSONArray json = JSONArray.fromObject(map);
    		return json.toString();
    	}
        /* 功能      :将一个map转成json对象
         * 参数      :map
         * return    :json对象
         * */
    	/*
    	 * Map<String,Object> map = new HashMap<String,Object>(); map.put("users",
    	 * users); map.put("u", u);
    	 */
    	public String getJsonByJSONObjectFromMap(Map map) {
    		JSONObject json = JSONObject.fromObject(map);
    		return json.toString();
    	}

    然后是json转化为其他类型

         /*
         * 功能    :将json对象(只有一组值)转成object
         * 参数    :json字符串
         * return  : javabean 对象
         * 
         * */
    	// {id:'id1',code:'code1',name:'name1'}
    	public Object getBeantByJSONObjectFromJson(String json) {            
    		JSONObject jsonObject = JSONObject.fromObject(json);
    		Object  object=(Object)JSONObject.toBean(jsonObject);
    		return object;
    	}
        /*
         * 功能                 :将json转成map
         * 参数                 :json字符串
         * return  : map
         * */
    	// {id:'id1',code:'code1',name:'name1'}
    	public Map<String, Object> getMapByJson(String json) {
    		Map<String, Object> map = new HashMap<String, Object>();
    		// 最外层解析
    		JSONObject object = JSONObject.fromObject(json);
    		for (Object k : object.keySet()) {
    			Object v = object.get(k);
    			map.put(k.toString(), v);
    		}
    		return map;
    	}
    	 /*
         * 功能                 :将json转成list
         * 参数                 :json字符串
         * return  : list
         * */
    	// [{id:'id1',code:'code1',name:'name1'},{id:'id2',code:'code2',name:'name2'}]
    	public List getListByJSONArrayFromJson(String json) {        
    		JSONArray array = JSONArray.fromObject(json);
    		List list=(List)JSONArray.toList(array);
    		return array;
    	}



  • 相关阅读:
    科目2考试最好的网址
    怎么解决tomcat占用8080端口问题
    JDBC全部分析
    JSP分页技术的实现(利用当前页进行前后加减,并利用href进行当前页面传值,传值当然是那个当前值变量)
    mysql 如何创建一个简单的存储过程
    MySQL、SqlServer、Oracle三大主流数据库分页查询 (MySQL分页不能用top,因为不支持)
    JAVA线程操作常见面试题 包括不使用内部类对多个线程加减1
    JAVA常用设计模式(静态化调用和实例化调用的区别,编辑可见 )
    面试王牌 JAVA并发
    不通过ecplise,只通过文件目录 创建最简单的JSP文件
  • 原文地址:https://www.cnblogs.com/oversea201405/p/3752175.html
Copyright © 2011-2022 走看看