对象转换成json串时,将null属性去除;以及枚举类的使用

import java.lang.reflect.Field;

import java.util.Date;

import java.util.Map;

import org.hibernate.Hibernate;

import abc.dao.Student;

import com.alibaba.fastjson.serializer.JSONSerializer;

import com.alibaba.fastjson.serializer.PropertyPreFilter;

import com.alibaba.fastjson.serializer.SerializeWriter;

import com.alibaba.fastjson.serializer.SerializerFeature;

public class JsonUtils {

public static String toJSONString(Object object, boolean filterNull, SerializerFeature[] features) {

SerializeWriter out = new SerializeWriter();

JSONSerializer serializer = new JSONSerializer(out);

for (int i = 0; i < features.length; i++) {

SerializerFeature feature = features[i];

serializer.config(feature, true);

}

serializer.setDateFormat("yyyy-MM-dd HH:mm:ss");

serializer.config(SerializerFeature.WriteDateUseDateFormat, true);

//根据PropertyName判断是否序列化

serializer.getPropertyPreFilters().add(new PropertyPreFilter() {

public boolean apply(JSONSerializer serializer, Object object, String name) {

try {

if (((object instanceof Map)) || ((object instanceof Iterable))) {

return true;

}

Field f = object.getClass().getDeclaredField(name);

if (!f.isAccessible()) {

f.setAccessible(true);

}

Object val = f.get(object);

return Hibernate.isInitialized(val);

} catch (NoSuchFieldException localNoSuchFieldException) {

} catch (Exception e) {

e.printStackTrace();

}

return false;

}

});

serializer.write(object);

String s = out.toString();

out.close();

return s;

}

public static String toJSONString(Object object) {

return toJSONString(object, false, new SerializerFeature[0]);

}

public static void main(String[] args) {

Student aa = new Student();

aa.setName("lxg");

aa.setBirstday(new Date());

System.out.println(toJSONString(aa));

}

}

//定义一个枚举类,枚举类中也可以定义方法,属性;这样枚举对象就有对应的方法和属性了。

//使用时就比较方便了,例如:String name = SearchType.SaveHistory.name;

//枚举类其实可以用静态常量类代替,但是其不能像枚举类那样,又可以为常量再定义属性和方法。

public enum SearchType {

SaveHistory("saveHisPly cost", "保存历史", "1"),

Quote("==============报价处理", "报价", "2"),

EdrApply("==============提交批改申请单", "提交申请", "3"),

EdrApplyUMSTask("批改任务:EdrApplyUMSTask", "创建资料审核任务", "4");

public String keyword;

public String name;

public String code;

private SearchType(String keyword, String name, String code) {

this.keyword = keyword;

this.name = name;

this.code = code;

}

public static SearchType matchByCode(String c) {

if ("1".equals(c))

return SaveHistory;

if ("2".equals(c))

return Quote;

if ("3".equals(c)) {

return EdrApply;

}

if ("4".equals(c)) {

return EdrApplyUMSTask;

}

return null;

}

}

http://www.csdn.net/article/2014-09-25/2821866

下面是springmvc的相关资料

http://jinnianshilongnian.iteye.com/blog/1594806

http://www.admin10000.com/document/6436.html

时间: 2024-12-28 21:54:03

对象转换成json串时,将null属性去除;以及枚举类的使用的相关文章

查询复杂对象用respsbody转换成json串时,mybatis的延迟加载报错的解决方法

在查询数据时,如果你查询的是复杂的对象需要通过respsbody转换成json串时,mybatis用的延迟加载会报以下错误: 解决方法:第一步在RequestMapping(参数中加入 produces =  "application/json")表示将功能处理方法将生产json格式的数据,此时根据请求头中的Accept进行匹配,如请求头"Accept:application/json"时即可匹配.第二步:在实体类中前面加上注解@JsonInclude(JsonIn

C#自定义将各种对象转换成JSON格式的类

这个C#封装类可以用于将各种格式的数据转换成JSON格式,包括List转换成Json,普通集合转换Json ,DataSet转换为Json ,Datatable转换为Json ,DataReader转换为Json等,如果你需要将对象转换成JSON,可以使用这个类. using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Reflection; using

SpringMVC分页查询无法直接将对象转换成json的解决办法(报org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type:错)

在用ajax获得分页数据时,无法将获取的值赋值给input标签,在修改用户信息时不显示用户已经注册的信息,百度可知 springmvc处理分页数据返回的对象时,无法直接将对象转换成json,会报org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type:错误, 需要在springmvc返回前先转换为json 步骤如下: 1.添加依赖(

JSON对象转换成JSON字符串

1.问题背景 有一个json对象,需要将其转换成json字符串 JSON.stringify(obj) 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

将Model对象转换成json文本或者json二进制文件

https://github.com/casatwy/AnyJson 注意:经过测试,不能够直接处理字典或者数组 主要源码的注释 AJTransformer.h 与 AJTransformer.m // // AJTransformer.h // AnyJson // // Created by casa on 14-9-19. // Copyright (c) 2014年 casa. All rights reserved. // #import <Foundation/Foundation.

Newtonsoft.Json 把对象转换成json字符串

var resultJson = new { records = rowCount, page = pageindex, //总页数=(总页数+页大小-1)/页大小 total = (rowCount + pagesize - 1) / pagesize,//总页数 rows = data.ToList<Web.Entity.Db.Table1Bean>(), }; //JsonResult jr = Json(resultJson, "application/json",

Javascript-自定义对象转换成JSon后如何再转换回自定义对象

man是自定义的对象,使用var tim = JSON.stringify(man); var newman=JSON.parse(tim)后newman的类型是"object"并不是一个Man,怎么才能变回一个Man呢? function Man() { this._type = "man"; this.name=""; this.run = function () { alert("run!!"); alert(this.

json字符串转换成对象,对象转换成json字符串

方法一: 程序集:  System.Web.Extensions; 命名空间:System.Web.Script.Serialization; 最重要的类:JavaScriptSerializer //实例化 JavaScriptSerializer js = new JavaScriptSerializer(); js.Serialize();//将对象转换成json字符串:    序列号 js.Deserialize();//将json字符串转换成对象:  反序列化 方法二: 程序集:New

python 将类对象转换成json

如果将字典转换成json,想必都很熟悉了,如果在进阶点,将class类转换成json对象该如何操作了? 1,先定义一个类 #定义一个Student类 class Student(object): def __init__(self,name,age,score): self.name = name self.age = age self.score = score 2,在实例化Student类,传入3个参数 #实例化这个对象 s = Student('hello',20,80) 3,利用json