公司不准引入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. zabbix利用mutt和msmtp配置邮件报警

    Mutt安装 yum –y install mutt msmtp安装 yum –y install openssl openssl-devel libntlm libntlm-devel cyrus- ...

  2. Freemarker日期格式化处理

    基本参数: date: 只显示日期,不显示时间.如${createTime?date} 或${createTime?date('yyyy-MM-dd')} time: 只显示时间,不显示日期如${cr ...

  3. 一个好用的C#类型转换器

    public static object ChangeType(object value, Type targetType) { if (targetType.IsGenericType && ...

  4. PyQt4学习资料汇总

    一个月前研究了下PyQt4,感觉比较不错.相比wxpython,界面美观了很多,并且将界面设计与代码逻辑很好的分离了开来.关于PyQt4的资料也不少,这里我将我找到的资料汇总一下,以防自己以后忘得一干 ...

  5. php CLI 模式下的传参方法

    在CLI模式(命令行界面 Command Line Interface)下,传入参数有如下3种方法: 一. getopt函数(PHP 4 >= 4.3.0, PHP 5) getopt - 从命 ...

  6. JS继承模式粗探

    之前提到了JS中比较简单的设计模式,在各种设计模式中被最常使用的工具之一就是原型链的继承.作为OOP的特质之一——继承,今天主要谈谈JS中比较简单的继承方法. 最基础的原型链继承在这里就不复述了,主要 ...

  7. tomcat 8在win8.1中的配置

    配置jdk: 三个步骤: 1.环境变量=>新建 JAVA_HOME C:\Program Files\Java\jdk1.8.0_40 2.环境变量=>新建 CLASS_PATH .;%J ...

  8. 《Python标准库》 目录

    目录 译者序序前言第1章 文本1.1 string—文本常量和模板1.1.1 函数1.1.2 模板1.1.3 高级模板1.2 textwrap—格式化文本段落1.2.1 示例数据1.2.2 填充段落1 ...

  9. CodeIgniter2.2.0-在控制器里调用load失败报错的问题

    报错如下: hello A PHP Error was encountered Severity: Notice Message: Undefined property: Test::$load Fi ...

  10. ILspy反编译工具

    简介 ILspy是一个开源的.net反编译软件,使用十分方便. 开发原因 之所以开发ILspy是因为Red Gate宣布免费版的.NET Reflector(同样是反编译软件)将会在2011年2月停止 ...