关于java发射机制调用ali和google json解析器的不同之处

原创 2013年12月03日 10:33:07

直接上代码了!望大家见谅啊...

@SuppressWarnings("unchecked")

public static <T> T parseJsonToObj(String jsonStr, Class<T> clazz) {
Method parseObject = null;
Class<?> cls = null;
try {
cls = Class.forName("com.alibaba.fastjson.JSON");
parseObject = cls.getMethod("parseObject", String.class,
Class.class);
return (T) parseObject.invoke(cls, jsonStr, clazz);
// return JSON.parseObject(jsonStr, clazz);
} catch (Exception e) {
// TODO: handle exception
}
try {
cls = Class.forName("com.google.gson.Gson");
parseObject = cls.getMethod("fromJson", String.class, Class.class);
return (T) parseObject.invoke(cls.newInstance(), jsonStr, clazz);
} catch (Exception e) {
// TODO: handle exception
}
return null;

}

此次解析的关键点在于invoke函数,一个传入了cls(com.alibaba.fastjson.JSON),另一个传入了cls.newInstance()(com.google.gson.Gson),后来看了一下原文件才发现,ali的JSON是个abstract class,而google的Gson却是一个final class,自己通过实际操作学到了一点点东西,拿出来与大家分享,如有错误之处,望大家多多指正。

来自阿里的 json 解析方案 fastjson

说起Json 解析,有很多方法,无论是出自Google 的Gson也好,今天就来看看 fastjson 这个解析json 的神器...
  • geekstart
  • geekstart
  • 2014年06月20日 10:59
  • 15987

java利用反射机制模拟spring IOC实现

第一步:定义服务的配置文件(指定服务名和服务路径) 原创不易,转载请注明出处:java利用反射机制模拟spring IOC实现 代码下载地址:ht...
  • yaerfeng
  • yaerfeng
  • 2014年03月27日 12:23
  • 4400

Java中关于函数回调和反射机制的介绍

因为Java中有过滤器过滤器的机制是函数回调,索引在此介绍一下函数的回调。 Eg:class A{} A a=new A(); a.numBuild();//此方法用于生成两个数,比如此处生成了1和...
  • Joker_Fei
  • Joker_Fei
  • 2017年03月21日 23:18
  • 1150

java中import、package的不同之处

  • 2015年01月26日 22:30
  • 18KB
  • 下载

使用Kotlin实现Android简单Demo,对比JAVA实现分析具体语法不同之处(一)

使用Kotlin实现Android简单Demo,对比JAVA实现分析具体语法不同之处(一) 写在之前:Android O 版本发布之后android已经支持Kotlin语言的开发,因此实现一个简单...
  • M075097
  • M075097
  • 2017年07月13日 19:59
  • 341

小菜的Java学习之路 ———— 与C++的不同之处

一:基本的控制结构 1:Java的main方法必须是静态的,与C/C++一样,关键字void表示这个方法没有返回值,所不同的是main方法没有给操作系统返回"退出代码"。如果main方法正常退出,那...
  • naruto12345
  • naruto12345
  • 2012年06月30日 12:21
  • 944

java在线聊天项目0.2版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包) BorderLayout布局与GridLayout布局不同之处 JPanel设置大小

代码如下: package com.swift; import java.awt.BorderLayout; import java.awt.Color; import javax.swing....
  • swift2010
  • swift2010
  • 2018年01月01日 00:42
  • 41

java整理(含一些和C++的一些不同之处)

1,方法与构造函数同名的问题 1,
  • u014199750
  • u014199750
  • 2014年06月11日 21:27
  • 696

(关于编程实现数据的转换)说说 java与c语言的不同之处!!

1.Java的简单类型及其封装器类 ⑴Java简单类型与封装类 我们知道,Java语言是典型的支持面向对象的程序语言,但考虑到有些基本数据类型的结构简单,占内存小且存取速度快等优点,Java依...
  • wosiwozaiwhy
  • wosiwozaiwhy
  • 2014年05月09日 10:37
  • 367

C++与java的不同之处

一、C++有而Java没有的特性 由于Java本身就是从C++衍生出来的,这里只提C++具备的特性而被Java摒弃的—— 00、Java不再支持指针。这可能是C++和Java之间的最大不同...
  • u014646358
  • u014646358
  • 2015年02月11日 18:09
  • 24260
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于java发射机制调用ali和google json解析器的不同之处
举报原因:
原因补充:

(最多只允许输入30个字)