以下是一个通用的对象转json的方法,使用的fastjson的SimplePropertyPreFilter 对象,个人感觉比使用PropertyPreFilter的匿名内部类形式的过滤器更好用!
/**
* 将对象序列化为json
*/
public void objectToJson(Object obj, String[] args) {
//属性过滤器对象
SimplePropertyPreFilter filter = new SimplePropertyPreFilter();
//属性排斥集合,强调某些属性不需要或者一定不能被序列化
Set<String> excludes = filter.getExcludes();
//属性包含集合,强调仅需要序列化某些属性.具体用哪一个,看实际情况.此处我用的前者
//Set<String> includes = filter.getIncludes();
//排除不需序列化的属性
for (String string : args) {
excludes.add(string);
}
//调用fastJson的方法,对象转json,
//参数一:需要被序列化的对象
//参数二:用于过滤属性的过滤器
//参数三:关闭循环引用,若不加这个,页面无法展示重复的属性值
String string = JSON.toJSONString(obj, filter,SerializerFeature.DisableCircularReferenceDetect);
}
页面中js判断json对象是否包含某个key
JSON.hasOwnProperty(“propertyName”)
包含返回true,反之返回false
JQuery 遍历json
$.each(jsonData, function (index, value) {
.....
.....
.....
});
js中字符串转json
JSON.parse(string)
js中json转字符串
JSON.stringify(jsonData)
js中删除json对象中的一个key
var jsonObj={“type”:“information”,“result”:“success”,“item”:null};
delete jsonObj.item;