Gson json解析工具
HashMap<String,String> hashMap = new HashMap<String, String>();
hashMap.put("id", "1");
hashMap.put("name", "ca");
Gson gson = new Gson();
System.out.println(gson.toJson(hashMap));
package utils;
import org.apache.commons.lang.ArrayUtils;
import com.google.gson.ExclusionStrategy;
import com.google.gson.FieldAttributes;
public class GsonUtil implements ExclusionStrategy {
private Class<?> target;
private String[] fields;
private Class<?>[] clazz;
private boolean reverse;
public GsonUtil(Class<?> target) {
super();
this.target = target;
}
public boolean shouldSkipClass(Class<?> class1) {
return false;
}
public boolean shouldSkipField(FieldAttributes fieldattributes) {
Class<?> owner = fieldattributes.getDeclaringClass();
Class<?> c = fieldattributes.getDeclaredClass();
String f = fieldattributes.getName();
boolean isSkip = false;
if (owner == target) {
if (ArrayUtils.contains(fields, f)) {
isSkip = true;
}
if (ArrayUtils.contains(clazz, c)) {
isSkip = true;
}
if (reverse) {
isSkip = !isSkip;
}
}
return isSkip;
}
public void setFields(String[] fields) {
this.fields = fields;
}
public void setClazz(Class<?>[] clazz) {
this.clazz = clazz;
}
public void setReverse(boolean reverse) {
this.reverse = reverse;
}
}
Dog dog = new Dog();
dog.setAge("12");
dog.setId("454");
dog.setName("白狗");
GsonUtil gsonUtil = new GsonUtil(Dog.class);
GsonBuilder builder = new GsonBuilder();
gsonUtil.setFields(new String[]{"id","name"});
gsonUtil.setReverse(true);
builder.addSerializationExclusionStrategy(gsonUtil);
Gson gson = builder.create();
System.out.println(gson.toJson(dog));
Gson gson = new Gson();
String jsonstr="{\"id\":\"454\",\"name\":\"白狗\"}";
System.out.println(gson.fromJson(jsonstr, Dog.class));
//在转换为泛型类的时候 需如下转换
list = gson.fromJson(result, new TypeToken<List<Object[]>>() {}.getType())

附件列表
Gson json解析工具的更多相关文章
- JSON解析工具比较,主要GSON和FastJSON
JSON解析工具比较,主要GSON和FastJSON 一 .各个JSON技术的简介和优劣 1.json-lib json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确 ...
- [转] 各种Json解析工具比较 - json-lib/Jackson/Gson/FastJson
JSON技术的调研报告 一 .各个JSON技术的简介和优劣1.json-libjson-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括com ...
- Json解析工具Jackson(使用注解)
原文http://blog.csdn.net/nomousewch/article/details/8955796 接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给 ...
- JSON 解析工具的封装(Java)
JSON 解析工具的封装(Java) 一直想有一个属于自己的JSON工具,今天终于弄好了..... 1.添加pom依赖包 <!--json解析--> <dependency> ...
- 自定义Json解析工具
此博客为博主原创文章,转载请标明出处,维权必究:https://www.cnblogs.com/tangZH/p/10689536.html fastjson是很好用的json解析工具,只可惜项目中要 ...
- java后台常用json解析工具问题小结
若排版紊乱可查看我的个人博客原文地址 java后台常用json解析工具问题小结 这里不细究造成这些问题的底层原因,只是单纯的描述我碰到的问题及对应的解决方法 jackson将java对象转json字符 ...
- JSON解析工具-org.json使用教程
转自:http://www.open-open.com/lib/view/open1381566882614.html 一.简介 org.json是Java常用的Json解析工具,主要提供JSONO ...
- Json解析工具Jackson(使用注解)--jackson框架自定义的一些json解析注解
Json解析工具Jackson(使用注解)--jackson框架自定义的一些json解析注解 @JsonIgnoreProperties 此注解是类注解,作用是json序列化时将Javabean中的一 ...
- Java:JSON解析工具-org.json
一.简介 org.json是Java常用的Json解析工具,主要提供JSONObject和JSONArray类,现在就各个类的使用解释如下. 二.准备 1.在使用org.json之前,我们应该先从该网 ...
随机推荐
- 【独立开发人员er Cocos2d-x实战 001】csb文件导出和载入
使用cocos studio进行资源文件导出: 然后在cocosproject中进行载入csb文件: auto myLayout = CSLoader::createNode("/res/ ...
- 23、java 通过System.getProperties()获取系统参数
1.java的System.getProperty()方法可以获取的值 java.version Java 运行时环境版本 java.vendor Java 运行时环境供应商 java.vendor. ...
- 一段测试try...catch运行时间的代码
public class Test2 { private static int test() { int i=1; try { i=2; ...
- Linux安装Nginx1.7.4、php5.5.15和配置
Nginx是一个轻量级的高性能Webserver.反向代理server.邮件(IMAP/POP3/SMTP)server,是Igor Sysoev为俄罗斯訪问量第二的Rambler.ru网站开发,第一 ...
- android.widget.BaseAdapter调用DataSetObservable.notifyChanged/Invalidated
在android.widget.BaseAdapter类中定义了两个notifyDataXXX方法. public void notifyDataSetChanged() { mDataSet ...
- Javascript中的数据类型知多少
JavaScript 是一种弱类型或者说动态语言.这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定.这也意味着你可以使用同一个变量保存不同类型的数据 根据ECMAScript 5. ...
- [原创]-[WEB]代码高亮工具
代码高亮显示,不是什么新鲜玩艺了,各种各样的插件多了去了. 一开始想在baidu空间里贴代码,用GeSHi生成的高亮HTML复制到编辑器就可以了,不过QQ空间却不行,复制过去的格式全部被清 ...
- iOS “[App] if we're in the real pre-commit handler we can't actually add any new fences due
最近运行APP,发现了这个问题,本着宁可错看,不可放过的原则,上stackoverFlow学习了一下: 链接:http://stackoverflow.com/questions/38458170/i ...
- posix 匿名信号量与互斥锁 示例生产者--消费者问题
一.posix 信号量 信号量的概念参见这里.前面也讲过system v 信号量,现在来说说posix 信号量. system v 信号量只能用于进程间同步,而posix 信号量除了可以进程间同步,还 ...
- 结构体位制 中存在 有符号 与 无符号 -- C
#include <stdio.h> #include <stdlib.h> #include <string.h> /* 有符号 结构体1 */ struct b ...