- 浏览: 139522 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
admin666:
新人路过,表示对我有帮助
Activiti(新手)工作流对用户任务签收办理操作 -
汽车城路:
根据数据库里的字段来动态添加grid列,你实现了么?
动态对ext grid添加列
总结了日常开发中对Json格式的处理,需要下载json相关Jar;这里提供下主要Jar
json-lib-2.2.3-jdk13.jar
json-lib-2.2.3-jdk13.jar
import net.sf.json.JSON; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.xml.XMLSerializer; /** * Json串处理工具类 * json,list,map等之间的各种转化 * @author * @version 2.0 create at,2009-2-12 * */ public class JsonUtil { /** * 将json格式的字符串转化为jsonobject * @param str * @return * @throws ApplicationException */ public static JSONObject stringToJsonObject(String str) throws ApplicationException { JSONObject jsonObject = null; if (Validator.isNotNull(str)) { try{ jsonObject = JSONObject.fromObject(str); }catch(Exception ex){ throw new ApplicationException("要转化的字符串格式不对,必须为json格式!"); } } return jsonObject; } /** * 从指定的List<map>对象中获取要设置的值后组装成返回给前台的JSON对象字符串. * 主要用于给前台分页grid组装数据 * @param list list<map>从数据库中查询出来的数据 * @param count 总数 * @return */ @SuppressWarnings("unchecked") public static String fromMap(List list, int count) { //将list<map>转化为jsonarray JSONArray options = formListArray(list); JSONObject result = new JSONObject(); result.put("result", options); result.put("totalCount", count); return result.toString(); } /** * 将Map<String,String>转化为JSONObject格式的字符串 * @param map * @return {"success":true,"result":{}} */ public static String fromMapToJson(Map<String, String> map) { Iterator<String> it = map.keySet().iterator(); JSONObject jsonObject = new JSONObject(); JSONObject json = new JSONObject(); while (it.hasNext()) { String key = (String) it.next(); jsonObject.put(key.toLowerCase(), map.get(key)); } json.put("success", true); json.put("result", jsonObject.toString()); return json.toString(); } /** * 将list<map>转化为jsonobject格式的字符串 * @param list * @return {"result":{...}} */ @SuppressWarnings("unchecked") public static String fromListMap(List list) { JSONArray options = new JSONArray(); for (Object obj : list) { Iterator it = ((Map) obj).keySet().iterator(); Object value; JSONObject option = new JSONObject(); while (it.hasNext()) { String key = (String) it.next(); value = ((Map) obj).get(key); value = value != null ? value : ""; option.put(key.toLowerCase(), value); } options.add(option); } JSONObject result = new JSONObject(); result.put("result", options.toString()); return result.toString(); } /** * 从list<map>转化为treenode的json * @param list * @return */ @SuppressWarnings("unchecked") public static String toAsynTreeJson(List list) { JSONArray ja = new JSONArray(); for (Object obj : list) { Iterator it = ((Map) obj).keySet().iterator(); JSONObject option = new JSONObject(); while (it.hasNext()) { String key = (String) it.next(); Object value = ((Map) obj).get(key); key = key.toLowerCase(); value = value == null ? "" : value.toString(); //是否含有带checkbox的treenode if (key.equals("checked")) { boolean check = value.equals("1") ? true : false; option.put("checked", check); } //是为叶子节点还是为非叶子节点 else if("leaf".equals(key)){ boolean leaf = value.toString().trim().equals("1")?true:false; option.put("leaf", leaf); }else if("draggable".equals(key)){ boolean draggable = value.toString().trim().equals("1")?true:false; option.put("draggable", draggable); } else option.put(key, value); } ja.add(option); } return ja.toString(); } /** * 将list<map>转化为jsonarray * 此JSONArray的格式将会是这样[{},{}] * @param list * @return */ @SuppressWarnings("unchecked") public static JSONArray formListArray(List list) { JSONArray options = new JSONArray(); for (Object obj : list) { Iterator it = ((Map) obj).keySet().iterator(); JSONObject option = new JSONObject(); while (it.hasNext()) { String key = (String) it.next(); Object value = ((Map) obj).get(key); value = value != null ? value : ""; option.put(key.toLowerCase(), value); } options.add(option); } return options; } /** * 从List<Model>转化成jsonArray * list中装的对象为具体的po * @param list * @return */ @SuppressWarnings("unchecked") public static JSONArray formListModelArray(List list){ JSONArray options = new JSONArray(); for (Object obj : list) { options.add(obj); } return options; } /** * 将JSONArray逆向转化为List list中可以为任何元素, * @param json 符合JSONArray格式的字符串 * 可以是很复杂的格式,如[{},[],{a:[],b:{},c:{cc:[]...}},'test'] * @return */ @SuppressWarnings("unchecked") public static List JSONArrayConvertList(String json) { ArrayList list = new ArrayList(); JSONArray ja = JSONArray.fromObject(json); populateArray(ja, list); return list; } @SuppressWarnings("unchecked") private static void populateArray(JSONArray jsonArray, List list) { //循环遍历jsonarray for (int i = 0; i < jsonArray.size(); i++) { if (jsonArray.get(i).getClass().equals(JSONArray.class)) { //如果元素是JSONArray类型 ArrayList _list = new ArrayList(); list.add(_list); //递归遍历,此为深度遍历,先把最内层的jsonobject给遍历了 populateArray(jsonArray.getJSONArray(i), _list); } else if (jsonArray.get(i).getClass().equals(JSONObject.class)) { //如果是JSONObject类型 HashMap _map = new HashMap(); list.add(_map); //遍历JSONObject populate(jsonArray.getJSONObject(i), _map); } else { //如果都不是的话就直接加入到list中 list.add(jsonArray.get(i)); } } } @SuppressWarnings("unchecked") private static Map populate(JSONObject jsonObject, Map map) { for (Iterator iterator = jsonObject.entrySet().iterator(); iterator .hasNext();) { String entryStr = String.valueOf(iterator.next()); String key = entryStr.substring(0, entryStr.indexOf("=")); if (jsonObject.get(key).getClass().equals(JSONObject.class)) { HashMap _map = new HashMap(); map.put(key, _map); populate(jsonObject.getJSONObject(key), _map); } else if (jsonObject.get(key).getClass().equals(JSONArray.class)) { ArrayList list = new ArrayList(); map.put(key, list); populateArray(jsonObject.getJSONArray(key), list); } else { map.put(key, jsonObject.get(key)); } } return map; } /** * Map转换成JSONObject * @param map * @return */ @SuppressWarnings("unchecked") public JSONObject populateToJsonObject(Map map) { JSONObject temp = new JSONObject(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Entry entry = (Entry) iter.next(); String key = entry.getKey().toString(); String value = entry.getValue() == null ? "" : entry.getValue().toString(); temp.put(key, value); } return temp; } /** *将json转化为xml **/ public static String jsonToXml(JSON json,Boolean appendHint){ XMLSerializer xmlSerializer = new XMLSerializer(); xmlSerializer.setTypeHintsEnabled(appendHint); xmlSerializer.setRootName("root"); return xmlSerializer.write(json); } /** *将xml转化为json **/ public static JSON xmlToJson(String xml){ XMLSerializer xmlSerializer = new XMLSerializer(); JSON json = xmlSerializer.read(xml); return json; } }
发表评论
-
Activiti(新手)工作流对用户任务签收办理操作
2016-03-30 17:43 23537首先是我们已经对Activiti流程的开启有了了解之后,在 ... -
Activiti(新手)工作流如何开启流程
2016-03-30 16:32 9786本文中简单介绍如何开启Activiti工作流引擎,百度上已 ... -
Java操作Oracle大字段(BLOB,CLOB)
2013-06-17 14:49 3698import java.io.*; import java.s ... -
Axis WebService 一看就懂
2012-12-07 14:54 1222axis1—4 webservices服务器客户端代码 -- ... -
spring配置数据源
2011-12-22 11:43 910不管通过何种持久化技 ... -
Velocity用户手册---中文版(学习修改版)
2011-12-04 22:29 1871Velocity的能力远不止web站点开发这个领域,例如,它可 ... -
spring3.0发送电子邮件(velocity模板,带附件,群发,解决乱码)
2011-12-04 22:27 1422在这个例子中,将与发送方相关的配置信息放在了一个email.p ... -
Spring3 + iBatis3 配置
2011-12-04 18:38 738原文连接 http://www.2cto.com/kf/ ... -
Jsp文件中播发视频文件
2011-12-02 19:02 963详情请转至:↓ http://blog.sina.com.cn ... -
定义管理char字符处理格式
2011-10-31 14:37 932写这些东西;Ctrl-Cv的手酸; 不是太全面,希望大家共同 ... -
如何得到服务器路径(weblogic-domain)
2011-10-31 14:30 4645对于如何在weblogic中得到web项目路径问题,是很常见的 ... -
java根据文件类型写入
2011-10-31 14:24 975根据文件类型写入文件;参数方法一目了然 public S ... -
java去掉字符串的任何位置多余的空格
2011-10-17 16:27 1125用java去掉字符串的任何位置多余的空格,很经典。 代码如下 ... -
java-execl
2011-08-16 11:22 1003解决方法: 1、新建excel文件,手动复制原文件内容 ... -
在JSp中直接使用分页
2010-05-21 16:53 1053没事出来逛逛。。。。 ...
相关推荐
这里提到的"json常用jar包(包括json常用的以及gson包)"包含了几个主流的JSON处理库: 1. **json-parser_fat.jar**:这是一个可能包含多个JSON解析库的综合包,"fat"可能表示它包含了所有必要的组件和依赖,使得...
标题“JSON常用jar下载”指出,我们需要一个特定的Java库来帮助我们完成这个任务。在Java中,常用的JSON库有Gson、Jackson、org.json和Fastjson等。这些库提供了方便的方法,将Java对象(如实体类)序列化为JSON字符...
JsonView是一款常用的JSON格式化工具,它通常作为浏览器插件存在,例如在Chrome或Firefox中。使用JsonView,你可以快速地查看HTTP请求或响应中的JSON数据,而无需手动格式化。以下是JsonView的一些关键特性: 1. **...
以下是一些常用的Java JSON处理库及其相关的知识点: 1. **Jackson** Jackson是Java最流行的JSON库之一,由 FasterXML 维护。它提供了多种API,如`JsonParser`、`JsonGenerator`用于低级别流式处理,以及`...
这个工具对于处理和分析JSON数据的IT专业人员来说尤其实用,因为JSON(JavaScript Object Notation)是Web服务和应用程序之间常用的数据交换格式,具有轻量级、易于读写的特点。 JSON格式是一种基于文本的结构化...
在现代Web开发中,JSON因其简洁性和易读性成为数据交换的常用格式,尤其在RESTful API接口中广泛使用。PowerBuilder作为一个老牌的面向对象的开发工具,虽然其主要应用领域是传统的客户端-服务器应用,但它也提供了...
由于其简洁性和高效性,JSON成为了现代Web应用中最常用的数据交换格式之一。在Linux环境下,为了方便地处理和解析JSON文件,存在多种强大的命令行工具。本文主要介绍两种常见的Linux下JSON解析工具:`jsonfilter` 和...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它以文本形式存储和交换数据,易于人阅读和编写,同时也易于机器解析和生成。JSON.is是一个专注于JSON格式的...
标题中的“英汉汉英词库 json数据格式”指的是一个包含英语到汉语和汉语到英语词汇转换的数据库,它被转换成JSON(JavaScript Object Notation)格式的数据。JSON是一种轻量级的数据交换格式,易于人阅读和编写,...
对于大体积的JSON数据,可能需要使用流式处理。Jackson和Gson都提供了流式API,可以在处理大型JSON时避免内存溢出。 在Java中,使用这些库通常需要添加对应的Maven或Gradle依赖。例如,对于Jackson,你可能会在你...
Java处理JSON(JavaScript Object Notation)格式的数据时,通常会依赖一些第三方库,其中`json-lib.jar`是一个常用的工具包。这个库提供了丰富的API,使得Java开发者能够方便地进行JSON对象的序列化与反序列化操作...
FastJSON和Jackson是两个常用的JSON处理库,提供了高效、灵活的JSON处理功能。JSON处理的应用场景包括Web开发、移动应用开发、数据交换等领域。因此,JSON处理是非常重要的技术之一,在实际应用中需要根据具体情况...
在Java开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于前后端数据传输。要进行JSON相关的操作,你需要依赖特定的库,例如`net.sf.json`库,这个库提供了丰富的API来处理JSON数据。...
### JSON 常用方法与解析 #### 一、JSON 概述 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在 Web 应用程序中,JSON...
总之,"Oracle Json常用方法封装"是将Oracle的JSON处理能力进行模块化和标准化,提高了开发效率,降低了出错的可能性,同时也有利于团队协作和代码复用。正确理解和使用这个PackageBody,将使你在处理JSON数据时更加...
XML(eXtensible Markup Language)是另一种常用的数据交换格式,虽然结构更复杂,但有时可能需要在JSON与XML之间进行互换。JSON XML Parser.app可以帮助用户轻松地将JSON数据转换成XML,或者将XML数据转换成JSON,...
因此,优化代码以处理大文件和提高性能是必要的,例如,可以采用流式处理或者分块处理JSON数据,避免一次性加载整个文件到内存。 8. **错误处理**: JSON格式化工具还需要处理无效的JSON输入,提供友好的错误提示...
API接口通常用于提供数据或执行特定功能,而JSON是API数据交换的常用格式。描述中的“PB解析json到数据源”意味着PB能够接收HTTP响应的JSON数据,并将其转换为数据源可以理解的格式,以便进一步处理或显示。同时,...
3. `org.json`库:Java中一个常用的JSON处理库,提供了JSONObject和JSONArray类来创建、解析和操作JSON数据。例如,可以使用`JSONObject.toString()`将JSON对象转换为字符串,或使用`JSONArray.get(int index)`获取...
Jackson库是Java中常用的JSON处理库,它提供了方便的方法来实现这种转换。 一、JSON到Java类对象转换 1. 首先,我们需要一个Java类来映射JSON数据。例如,我们有一个User类,包含id、name和email字段: ```java ...