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的简单封装,旨在帮助开发者更高效地在C++项目中使用JSON。 RapidJson库本身提供了一种直接在内存中操作JSON的方式,避免了传统解析器生成中间树结构的开销。...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以其简单、易读和易于编写的特性在Web服务和应用程序之间广泛使用。本篇主要探讨JSON的封装与解析,帮助你理解并掌握这一关键技能。 一、JSON的...
在这个主题中,我们将深入探讨JSON数据的封装、传递以及在服务器和浏览器端的解析。 一、JSON数据封装 在客户端,我们通常使用JavaScript来创建JSON对象,这个过程称为封装。例如,假设我们有一个用户对象,包含...
JSON(JavaScript ...前者帮助你在Java应用中方便地进行JSON对象的序列化和反序列化,而后者则支持JSON-RPC协议,使得远程调用过程变得简单。在处理JSON数据或构建基于JSON-RPC的服务时,这两个库都是不可或缺的。
以下是一个简单的JavaScript示例,展示如何使用JSON封装数据并通过Socket发送: ```javascript // 创建JSON对象 var data = { name: "John", age: 30, city: "New York" }; // 封装为JSON字符串 var jsonString...
标题提及的“json封装的jar包”通常是指包含有处理JSON的Java库,这类库可以帮助开发者方便地在Java程序中进行JSON对象的创建、解析、序列化和反序列化。描述中提到有6个常用的类或方法,这可能指的是这个jar包内...
描述中的“json的简单应用”表明我们将探讨JSON的基础用法,以及如何在一个具有增加和删除功能的例子中使用JSON。这通常涉及到动态网页开发,例如使用JavaScript或者jQuery库来实现用户界面的交互,通过解析JSON数据...
《让Jackson JSON生成的数据包含的中文以unicode方式编码》一文的配套代码。文章地址:http://blog.csdn.net/chaijunkun/article/details/8257209
本教程将深入讲解如何在Android中对JSON数据进行封装和解析,以便于在应用程序中有效使用。 一、JSON基础知识 JSON是一种独立于语言的数据表示格式,它基于ECMAScript的一个子集。一个基本的JSON对象由键值对组成,...
本文将详细介绍如何在C#中使用Json.NET来封装JSON操作。 首先,我们需要了解Json.NET库。Json.NET是由James Newton-King开发的一个开源项目,它为.NET Framework、.NET Core和Unity等提供了全面的JSON支持。通过...
"Okhttp框架post json封装"主要涉及到如何使用OkHttp进行POST请求,并且在请求体中传递JSON格式的数据。 在Android开发中,我们经常需要与服务器进行数据交互,POST请求是一种常见的提交数据的方式,特别是在上传...
本文使用 php 来做一个简单的接口,客户端传入数据,该接口返回 JSON 格式数据。 api.php $code, message => $message, data => $data ]; # 转换为json并打印测试 echo json_encode($result); exit; } } # ...
在Java中封装JSON数据是一项常见的任务,特别是在开发Web应用程序时,JSON(JavaScript Object Notation)因其轻量级、易于阅读和编写的特点,被广泛用于数据交换。本篇将深入探讨如何在Java中处理JSON数据,结合`...
由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。 String,Number 和 Boolean ...
标题"封装了qt的json操作类QtSharpJson.zip"表明这个压缩包包含了一个名为QtSharpJson的自定义库,这个库是对Qt JSON操作的扩展和封装。开发者可能在原有的Qt JSON类基础上添加了新的特性或优化了某些操作,使得在...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。...通过深入理解和实践,开发者能够熟练掌握JSON数据的封装和解析,提升软件的可交互性和数据处理能力。
Cjson源码封装拓展主要是为了提高开发者在使用Cjson时的便捷性,使得调用接口更加简单、直观。原始的Cjson库提供了基本的JSON对象操作,如解析字符串到JSON结构、遍历JSON对象、生成JSON字符串等。通过封装,我们...
本教程将通过一个简单的demo,帮助你理解JSON的封装与解析。 ### 一、JSON的基本结构 JSON主要由两种基本结构构成: 1. **对象(Object)**:以花括号 `{}` 包裹,内部是键值对(key-value pairs),键和值之间用...
由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。 String,Number 和 Boolean ...
本教程将围绕"Netty实现长连接通讯"展开,重点讲解如何使用Netty框架构建基于TCP的长连接,并通过JSON进行数据封装。 首先,理解长连接的概念至关重要。长连接是指在一次TCP连接建立后,双方保持连接状态,可以进行...