`

JSON 简单封装

阅读更多
import java.util.ArrayList;
import java.util.Collection;
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;
import net.sf.json.JsonConfig;

/**
 * 后台数据转换成JSON操作的一些方法
 * 
 * @author wrj
 * 
 */
public class JSONUtils {

	/**
	 * 类型form
	 */
	public static String _JOSN_TYPE_FORM_="form";
	
	/**
	 * 类型AJAX
	 */
	public static String _JOSN_TYPE_AJAX_="ajax";
	
	/**
	 * 类型AJAX
	 */
	public static String _JOSN_TYPE_STORE_="store";
	/**
	 * 成功success
	 */
	public static String _JOSN_SUCCESS_="success";
	
	/**
	 * 操作信息
	 */
	private static String _JSON_MSG_ = "msg";

	/**
	 * 
	 */
	private static JsonConfig config = new JsonConfig();

	static {
		config.registerJsonValueProcessor(java.sql.Date.class, new JsDateJsonValueProcessorEx("yyyy-MM-dd"));
		
		config.registerJsonValueProcessor(java.sql.Time.class, new JsDateJsonValueProcessorEx("HH:mm:ss"));

		config.registerJsonValueProcessor(java.sql.Timestamp.class, new JsDateJsonValueProcessorEx("yyyy-MM-dd HH:mm:ss"));
	}

	/**
	 * 将返回消息转换为JSON数据格式返回
	 * 
	 * @param flag
	 *            成功失败标识
	 * @param msg
	 *            成功失败信息
	 * @return JSON格式的操作信息
	 */
	public static String oprationMsgToJSON(boolean flag,String msg) {
		//SuyLog.debug(jo.toString());
		return "{success:"+flag+","+JSONUtils._JSON_MSG_+":'"+msg+"'}";
		
		//return "{" + "\"_ajax_op_flag\":\"" + flag + "\",\"_ajax_op_msg\":" + "\"" + msg + "\"}";
	}

	/**
	 * 将返回消息转换为JSON数据格式返回
	 * 
	 * @param object
	 *            转换的对象 必须是List类型或Map类型的对象
	 * @param flag
	 *            成功失败标识
	 * @param msg
	 *            成功失败信息
	 * @return JSON格式的操作信息
	 */
	public static String oprationMsgToJSON(Object object, boolean flag, String msg,String type) {
		if (object instanceof Collection) {
			Map map = new HashMap(0);
			map.put("data", object);
			//map.put(JSONUtils._JSON_MSG_, msg);
			JSONObject jo = JSONObject.fromObject(map, config);
			
			//SuyLog.debug(jo.toString());
			//return "{success:"+flag+","+jo+"}";
			return jo.toString();
		} else if (object instanceof Map) {
			Map map = new HashMap(0);
			map.put("data", object);
			
			JSONObject jo = JSONObject.fromObject(map, config);	
			jo.put(JSONUtils._JSON_MSG_, msg);
			
			
			jo.put(JSONUtils._JOSN_SUCCESS_, flag);
			
			
			return jo.toString();
			//SuyLog.debug(jo.toString());
		}/* else if (object instanceof Page) {
			Map map = new HashMap(0);
			map.put("data", ((Page)object).getList());
			map.put("total", ((Page)object).getTotal());			
			JSONObject jo = JSONObject.fromObject(map, config);
			//SuyLog.debug(jo.toString());			
			 
			return jo.toString();
		} */else {
			Map map = new HashMap(0);			
			map.put(JSONUtils._JSON_MSG_, msg);
			JSONObject jo = JSONObject.fromObject(map);	
			 
			return "{success:"+flag+","+jo+"}";
			//SuyLog.debug(jo.toString());
			
		}

	}
	
	
	public static String convertListToJSONStr(List list){
		
		if(list==null){
			return "{}";
		}
		
		JSONArray ja = JSONArray.fromObject(list, config);
		
		return  ja.toString();
	}
	

	/**
	 * @param strJSON :
	 *            JSON字符串
	 * @return List
	 */
	public static List convertJSONStrToList(String strJSON) {
		JSONArray ja = JSONArray.fromObject(strJSON);
		List lst = new ArrayList();
		Map myRow = new HashMap(0);
		for (int i = 0; i < ja.size(); i++) {
			JSONObject jo = (JSONObject) ja.get(i);
			Iterator names = jo.keySet().iterator();
			while (names.hasNext()) {
				String name = (String) names.next();
				myRow.put(name, jo.get(name).toString());
			}

			lst.add(new HashMap(myRow));
			myRow.clear();
		}
		return lst;
	}

	/**
	 * @param Map 
	 *            
	 * @return jsonStr:JSON字符串
	 
	
	public static String convertMapToJSON(Map map){
		//清空null值
		map=BeanUtilsEx.parameterNullToString(map);
		//map=BeanUtilsEx.parameterCleanNullOrEmpty(map);
		//转成小写
		map=BeanUtilsEx.convertMapKeyToLowerCase(map);
		JSONObject jo = JSONObject.fromObject(map, config);	
		return jo.toString();
	}*/
	/** *//**
     * 从json对象集合表达式中得到一个java对象列表
     * @param jsonString
     * @param pojoClass
     * @return
     */
    public static List getList4Json(String jsonString, Class pojoClass){
        
        JSONArray jsonArray = JSONArray.fromObject(jsonString);
        JSONObject jsonObject;
        Object pojoValue;
        
        List list = new ArrayList();
        for ( int i = 0 ; i<jsonArray.size(); i++){
            
            jsonObject = jsonArray.getJSONObject(i);
            pojoValue = JSONObject.toBean(jsonObject,pojoClass);
            list.add(pojoValue);
            
        }
        return list;

    }
	
	
	public static void main(String[] args) {
		
		oprationMsgToJSON(true,"成功");
	}
}

 

分享到:
评论

相关推荐

    json_value20190219.zip_RapidJson 简单封装_json封装_rapidjson_rapidjson

    这个“json_value20190219.zip”文件包含了对RapidJson的简单封装,旨在帮助开发者更高效地在C++项目中使用JSON。 RapidJson库本身提供了一种直接在内存中操作JSON的方式,避免了传统解析器生成中间树结构的开销。...

    Json的封装与解析demo

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以其简单、易读和易于编写的特性在Web服务和应用程序之间广泛使用。本篇主要探讨JSON的封装与解析,帮助你理解并掌握这一关键技能。 一、JSON的...

    json数据封装,传递,解析

    在这个主题中,我们将深入探讨JSON数据的封装、传递以及在服务器和浏览器端的解析。 一、JSON数据封装 在客户端,我们通常使用JavaScript来创建JSON对象,这个过程称为封装。例如,假设我们有一个用户对象,包含...

    json对象封装及解析所需的JAR包

    JSON(JavaScript ...前者帮助你在Java应用中方便地进行JSON对象的序列化和反序列化,而后者则支持JSON-RPC协议,使得远程调用过程变得简单。在处理JSON数据或构建基于JSON-RPC的服务时,这两个库都是不可或缺的。

    JSON的封装和解析

    以下是一个简单的JavaScript示例,展示如何使用JSON封装数据并通过Socket发送: ```javascript // 创建JSON对象 var data = { name: "John", age: 30, city: "New York" }; // 封装为JSON字符串 var jsonString...

    json封装的jar包

    标题提及的“json封装的jar包”通常是指包含有处理JSON的Java库,这类库可以帮助开发者方便地在Java程序中进行JSON对象的创建、解析、序列化和反序列化。描述中提到有6个常用的类或方法,这可能指的是这个jar包内...

    使用json封装数据 html源代码

    描述中的“json的简单应用”表明我们将探讨JSON的基础用法,以及如何在一个具有增加和删除功能的例子中使用JSON。这通常涉及到动态网页开发,例如使用JavaScript或者jQuery库来实现用户界面的交互,通过解析JSON数据...

    Jackson JSON框架的Util化封装

    《让Jackson JSON生成的数据包含的中文以unicode方式编码》一文的配套代码。文章地址:http://blog.csdn.net/chaijunkun/article/details/8257209

    Android JSON数据的封装及解析

    本教程将深入讲解如何在Android中对JSON数据进行封装和解析,以便于在应用程序中有效使用。 一、JSON基础知识 JSON是一种独立于语言的数据表示格式,它基于ECMAScript的一个子集。一个基本的JSON对象由键值对组成,...

    实现c#封装Json

    本文将详细介绍如何在C#中使用Json.NET来封装JSON操作。 首先,我们需要了解Json.NET库。Json.NET是由James Newton-King开发的一个开源项目,它为.NET Framework、.NET Core和Unity等提供了全面的JSON支持。通过...

    Okhttp框架post json封装

    "Okhttp框架post json封装"主要涉及到如何使用OkHttp进行POST请求,并且在请求体中传递JSON格式的数据。 在Android开发中,我们经常需要与服务器进行数据交互,POST请求是一种常见的提交数据的方式,特别是在上传...

    PHP 简单封装返回JSON数据接口

    本文使用 php 来做一个简单的接口,客户端传入数据,该接口返回 JSON 格式数据。 api.php $code, message =&gt; $message, data =&gt; $data ]; # 转换为json并打印测试 echo json_encode($result); exit; } } # ...

    在JAVA中封装JSON数据

    在Java中封装JSON数据是一项常见的任务,特别是在开发Web应用程序时,JSON(JavaScript Object Notation)因其轻量级、易于阅读和编写的特点,被广泛用于数据交换。本篇将深入探讨如何在Java中处理JSON数据,结合`...

    JSON:javaWeb后台JSON的封装包---源码

    由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。 String,Number 和 Boolean ...

    封装了qt的json操作类QtSharpJson.zip

    标题"封装了qt的json操作类QtSharpJson.zip"表明这个压缩包包含了一个名为QtSharpJson的自定义库,这个库是对Qt JSON操作的扩展和封装。开发者可能在原有的Qt JSON类基础上添加了新的特性或优化了某些操作,使得在...

    json封装解析cjson

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。...通过深入理解和实践,开发者能够熟练掌握JSON数据的封装和解析,提升软件的可交互性和数据处理能力。

    json.zip_Cjson源码 封装拓展_JSON_cjson_json封装

    Cjson源码封装拓展主要是为了提高开发者在使用Cjson时的便捷性,使得调用接口更加简单、直观。原始的Cjson库提供了基本的JSON对象操作,如解析字符串到JSON结构、遍历JSON对象、生成JSON字符串等。通过封装,我们...

    json封装及解析

    本教程将通过一个简单的demo,帮助你理解JSON的封装与解析。 ### 一、JSON的基本结构 JSON主要由两种基本结构构成: 1. **对象(Object)**:以花括号 `{}` 包裹,内部是键值对(key-value pairs),键和值之间用...

    JSON:javaWeb后台JSON的封装包--源码实例

    由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。 String,Number 和 Boolean ...

    Netty实现长连接通讯-连接协议为了简单json封装

    本教程将围绕"Netty实现长连接通讯"展开,重点讲解如何使用Netty框架构建基于TCP的长连接,并通过JSON进行数据封装。 首先,理解长连接的概念至关重要。长连接是指在一次TCP连接建立后,双方保持连接状态,可以进行...

Global site tag (gtag.js) - Google Analytics