62,625
社区成员
发帖
与我相关
我的任务
分享
/**
* 将json字符串反转为类型T
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(String jsonString)
{
// 这里编译报错
if (T.class = String.class)
{
return (T)jsonString;
}
T t = JSON.parseObject(jsonString, new TypeReference<T>()
{
});
return t;
}
/**
* 返回 key 所关联的字符串值。 如果 key 不存在那么返回特殊值 nil 。
*/
@SuppressWarnings("unchecked")
@Override
public <T> T get(String key)
{
if (StringUtils.isBlank(key))
{
return null;
}
ShardedJedis jedis = RedisCacheFactory.getInstance().getResource(cluster);
try
{
return (T)JSONUtil.parseObject(jedis.get(key));
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
jedis.close();
}
return null;
}
/**
* 将json字符串反转为类型T,纯字符串(不包含"@type")原样返回。</br>
* 使用TypeReference<T>泛型反序列化的JSONString必然带@type
*/
@SuppressWarnings("unchecked")
public static <T> T parseObject(String jsonString)
{
if (!jsonString.contains("@type"))
{
return (T)jsonString;
}
T t = JSON.parseObject(jsonString, new TypeReference<T>()
{
});
return t;
}