公司不准引入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. shell选择语句

    if语句 1) if ... else 语句 if ... else 语句的语法: if [ expression ] then Statement(s) to be executed if expr ...

  2. STL源码--序列式容器

    1. vector: vector的内存管理,动态分配内存,不需要程序员来维护存储空间,是与array最大的区别,程序员只需从逻辑上关注代码,而不需要对内部的存储空间的分配和回收分心.首先,vecto ...

  3. TCL:表格(xls)中写入数据

    intToChar.tcl # input a number : 1 to 32 , you will get a char A to Z #A-Z:1-32 proc intToChar {int} ...

  4. 个人网页的留言板实现与sae的数据库账户配置

    个人网页(github)的留言板终于搞定了.总之后端的东西不会写,只有修改以前教程里面的文件.记录一下重要的过程. 使用了留言保存的send()函数,模版有注册登录功能.根据需求修改了一下,去掉了登录 ...

  5. Java获取Web服务器文件

    Java获取Web服务器文件 如果获取的是服务器上某个目录下的有关文件,就相对比较容易,可以设定死绝对目录,但是如果不能设定死绝对目录,也不确定web服务器的安装目录,可以考虑如下两种方式: 方法一: ...

  6. jquery Ajax获取本地json 以及xml文件

    $(function() { $("#Button1").click(function() { //按钮单击事件 //打开文件,并通过回调函数处理获取的数据 $.get(" ...

  7. 完美获取N卡A卡的显存大小(使用OpenGL)

    // 基于扩展NVX_gpu_memory_info extension UINT      QueryNVidiaCardMemory() { __try { int iVal = 0; glGet ...

  8. maven创建 web项目

    Maven教程初级篇03: 创建Web应用 1. 使用如下命令创建Web应用: 代码 mvn archetype:generate -DgroupId=net.jianxi.tutorials.mav ...

  9. [转] spring @Entity @Table

    实体bean,entity 注解设置 持久化是位于JDBC之上的一个更高层抽象.持久层将对象映射到数据库,以便在查询.装载.更新或删除对象的时候,无须使用像JDBC那样繁琐的API.EJB的早期版本中 ...

  10. iOS开发-UINavigationBar透明设置

    导航条最近需要设置成透明的形式,最开始想通过颜色clearColor设置,设置透明度,结果发现UINavigationItem无法显示显示,后来通过setBackgroundImage设置成功,不过会 ...