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;
    	}



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    CF763C Timofey and Remoduling
    CF762E Radio Stations
    CF762D Maximum Path
    CF763B Timofey and Rectangles
    URAL1696 Salary for Robots
    uva10884 Persephone
    LA4273 Post Offices
    SCU3037 Painting the Balls
    poj3375 Network Connection
    Golang zip压缩文件读写操作
  • 原文地址:https://www.cnblogs.com/dingxiaoyue/p/4931816.html
Copyright © 2011-2022 走看看