公司不准引入json-lib-2.x.jar所以只好自己写了一个基本类型的object转json的类,然后支持8种基本类型和javabean,list,map,array,使用putJSON方法,key值随便写,value是要转换的对象。

JsonObjectConvert.java:
package com.pz.util;

import java.lang.reflect.Field;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry; public class JsonObjectConvert { private StringBuffer sf = null; public String SimpleObjectToJson(Object o){ sf = new StringBuffer("{"); //sf.append(o.getClass().getSimpleName());
Field field[] = o.getClass().getDeclaredFields();
String content = "";
for(Field f : field ){
try {
f.setAccessible(true);
content += "\"" + f.getName() + "\":\"" + convertNull(f.get(o)) +"\",";
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
sf.append(content);
return sf.toString().substring(0, sf.length() - 1) + "}";
}
public Object convertNull(Object o){
if(o == null){
return "";
}else {
return o;
}
}
@SuppressWarnings("unchecked")
public Object convertJSON(Object o){
if(o == null){
return "";
}else if(o instanceof Boolean){
return "\"" +o.toString() + "\"";
}else if(o instanceof Character){
return "\"" +o.toString() + "\"";
}else if(o instanceof Short){
return "\"" +o.toString() + "\"";
}else if(o instanceof Integer){
return "\"" +o.toString() + "\"";
}else if(o instanceof Long){
return "\"" +o.toString() + "\"";
}else if(o instanceof Float){
return "\"" +o.toString() + "\"";
}else if(o instanceof Double){
return "\"" +o.toString() + "\"";
}else if(o instanceof Byte){
return "\"" +o.toString() + "\"";
}else if(o instanceof List){
return listToJSON((List)o);
}else if(o instanceof Map){
return mapToJSON((Map)o);
}else if(o.getClass().isArray()){
return arrayToJSON(o);
}else if(o instanceof String){
return "\"" +o.toString() + "\"";
}else if(o instanceof Date){
return "\"" +o.toString() + "\"";
}
return SimpleObjectToJson(o);
}
@SuppressWarnings("unchecked")
public String listToJSON(List list){
sf = new StringBuffer("[");
for(int i = 0;i < list.size();i++){
sf.append( convertJSON(list.get(i)) + ",");
}
return sf.toString().substring(0,sf.toString().length() - 1) + "]";
}
@SuppressWarnings("unchecked")
public String mapToJSON(Map map){
sf = new StringBuffer("[");
Iterator ite = map.entrySet().iterator();
while(ite.hasNext()){
Entry o = (Entry)ite.next();
String key = convertJSON(o.getKey()).toString();
sf.append("{\"" + key.substring(1, key.length() - 1) + "\":");
sf.append(convertJSON(o.getValue()) +"},");
}
return sf.toString().substring(0,sf.toString().length() - 1) + "]";
}
public String arrayToJSON(Object o){
sf = new StringBuffer("[");
Object[] obj = (Object[])o;
for(int i = 0;i < obj.length;i++){
sf.append(convertJSON(obj[i]) + ",");
}
return sf.toString().substring(0, sf.toString().length() - 1) + "]";
}
//the sum method convert to json key --> value
public static String putJSON(String key,Object value){
JsonObjectConvert joc = new JsonObjectConvert();
String jsonString = "{\"" + key + "\":" + joc.convertJSON(value) + "}";
return jsonString;
}
}

package com.pz.util;

import java.lang.reflect.Field;import java.util.Date;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Map.Entry;
public class JsonObjectConvert {private StringBuffer sf = null;public  String SimpleObjectToJson(Object o){sf = new StringBuffer("{");//sf.append(o.getClass().getSimpleName());Field field[] = o.getClass().getDeclaredFields();String content = "";for(Field f : field ){try {f.setAccessible(true);content += "\"" + f.getName() + "\":\"" + convertNull(f.get(o)) +"\",";} catch (IllegalArgumentException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IllegalAccessException e) {// TODO Auto-generated catch blocke.printStackTrace();}}sf.append(content);return sf.toString().substring(0, sf.length() - 1) + "}";}public Object convertNull(Object o){if(o == null){return "";}else {return o;}}@SuppressWarnings("unchecked")public  Object convertJSON(Object o){if(o == null){return "";}else if(o instanceof Boolean){return "\"" +o.toString() + "\"";}else if(o instanceof Character){return "\"" +o.toString() + "\"";}else if(o instanceof Short){return "\"" +o.toString() + "\"";}else if(o instanceof Integer){return "\"" +o.toString() + "\"";}else if(o instanceof Long){return "\"" +o.toString() + "\"";}else if(o instanceof Float){return "\"" +o.toString() + "\"";}else if(o instanceof Double){return "\"" +o.toString() + "\"";}else if(o instanceof Byte){return "\"" +o.toString() + "\"";}else if(o instanceof List){return listToJSON((List)o);}else if(o instanceof Map){return mapToJSON((Map)o);}else if(o.getClass().isArray()){return arrayToJSON(o);}else if(o instanceof String){return "\"" +o.toString() + "\"";}else if(o instanceof Date){return "\"" +o.toString() + "\"";}return SimpleObjectToJson(o);}@SuppressWarnings("unchecked")public  String listToJSON(List list){sf = new StringBuffer("[");for(int i = 0;i < list.size();i++){sf.append( convertJSON(list.get(i)) + ",");}return sf.toString().substring(0,sf.toString().length() - 1) + "]";}@SuppressWarnings("unchecked")public  String mapToJSON(Map map){sf = new StringBuffer("[");Iterator ite = map.entrySet().iterator();while(ite.hasNext()){Entry o = (Entry)ite.next();String key = convertJSON(o.getKey()).toString();sf.append("{\"" + key.substring(1, key.length() - 1) + "\":");sf.append(convertJSON(o.getValue()) +"},");}return sf.toString().substring(0,sf.toString().length() - 1) + "]";}public String arrayToJSON(Object o){sf = new StringBuffer("[");Object[] obj = (Object[])o;for(int i = 0;i < obj.length;i++){sf.append(convertJSON(obj[i]) + ",");}return sf.toString().substring(0, sf.toString().length() - 1) + "]";}//the sum method convert to json key --> valuepublic static String putJSON(String key,Object value){JsonObjectConvert joc = new JsonObjectConvert();String jsonString = "{\"" + key + "\":" + joc.convertJSON(value) + "}"; return jsonString;}}

常用的java类型转json的转换类的更多相关文章

  1. JAVA 接口返回JSON格式转换类

    使用了Lombok插件 Result.java package com.utils; import com.jetsum.business.common.constant.Constant; impo ...

  2. 转换成json字符串,与json字符串转换成java类型都要先转换成json对象

    转换成json字符串,与json字符串转换成java类型都要先转换成json对象

  3. GSON中Java对象与JSON互相转换——(一)

    json的转换插件是通过java的一些工具,直接将java对象或集合转换成json字符串. 常用的json转换工具有如下几种: 1)jsonlib 2)Gson:google 3)fastjson:阿 ...

  4. Java对象与JSON互相转换jsonlib以及手动创建JSON对象与数组——(二)

    首先声明一下,jsonlib转换与GSON相比太差劲了,操作不是一般的繁琐.GSON可以直接转换成各种集合与对象类型.强烈推荐使用GSON.而且GSON一个方法就可以解决,jsonlib转来转去太繁琐 ...

  5. Json:Java对象和Json文本转换工具类

    Json 是一个用于 Java 对象 和 Json 文本 相互转换的工具类. 安装 下载源码 git clone https://github.com/njdi/durian.git 编译源码 cd ...

  6. 将String类型的json字符串转换成java对象

    1,import com.fasterxml.jackson.databind.ObjectMapper; ObjectMapper mapper = new ObjectMapper(); Mycl ...

  7. java 类型转json格式

    json-lib-2.4-jdk15.jar List<People> mapPersonTypes = null; private JSONArray json_mapPersonTyp ...

  8. Mybatis 中常用的java类型与jdbc类型

    JDBC Type Java Type CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.BigDecimal DECIM ...

  9. Java 类型信息 —— 获取泛型类型的类对象(.class)

    How to get a class instance of generics type T 考虑泛型类Foo<T>,在其成员中,如果想获取类型(type)T的类实例(class inst ...

随机推荐

  1. 21)pom 中的缺省值(default properties)

    1 引言 项目中build 时用到了maven-jar-plugin ,其中有一个 ${project.build.directory} <plugin> <artifactId&g ...

  2. VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程

    VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...

  3. Mac:文件夹树型展示 tree

    目标: 想要在MAC的Terminal中查看文件夹中所有文件的树型结构及文件夹.文件树统计. 安装方法: 1.brew安装 官网:http://brew.sh/ brew是Mac中安装软件的神器,一定 ...

  4. code review作业

    下面是对结对编程队友12061166 宋天舒的code review 五个优点: 1.代码的风格优秀,注释不多,但是必要的注释还是有的,比如: // 三种模式 // mode1仅统计单个单词 // m ...

  5. 【转】windows消息和消息队列详解

    转载出处:http://blog.csdn.net/bichenggui/article/details/4677494  windows消息和消息队列 与基于MS - DOS的应用程序不同,Wind ...

  6. 关于通过jq /js 实现验证单选框 复选框是否都有被选中

    今天项目中遇到一个问题 就是要实现,单选框,复选框 同时都被选中才能进行下一步的问题,开始用js原生来写 怎么写都觉得不合适,通过for循环得出 复选框被选中的,在通过for循环得出单选框被选中的,问 ...

  7. 使用Roboguice依赖注入规划Android项目

    前言 好久没写博客了,罪过啊-记事本里累积了不少东西,整理整理放上来. 关于依赖注入 Dependency Injection( 依赖注入)可以很好的帮助我们分离模块,降低耦合.提高可测试性.(PS: ...

  8. Wix 安装部署教程(九) --用WPF做安装界面

    经常安装PC端的应用,特别是重装系统之后,大致分为两类.一类像QQ,搜狗输入法这样的.分三步走的:第一个页面可以自定义安装路径和软件许可.第二个页面显示安装进度条,第三个页面推荐其他应用.先不管人家怎 ...

  9. chrome浏览器渲染白屏问题剖析

    刚截图十几次,终于捕捉到了这个白屏现象,hiahia~~ 大家可以很清晰地看到下边还木有渲染完毕的透明层,这是一个十分普遍的问题,经常遇到.我的浏览器版本是 到目前为止应该是最新版(release版本 ...

  10. .NET在线培训 | C#在线培训 | .NET培训 | 最课程培训

    最课程(www.zuikc.com) 软件开发培训,在线软件培训的创新者!我们的创新在于: 1:一次购买,终身服务.每个最课程学员都会分配一位专职教师及一位监管教师,点对点跟进课程进度,直到您学会课程 ...